public static BasedSequence of(CharSequence charSequence) { if (charSequence instanceof BasedSequence) return (BasedSequence) charSequence; else { return charSequence == null ? BasedSequence.NULL : new SubSequence(charSequence); } }
public static BasedSequence of(CharSequence charSequence, int start) { if (charSequence instanceof BasedSequence) return ((BasedSequence) charSequence).subSequence(start); else { return charSequence == null ? BasedSequence.NULL : start == 0 ? new SubSequence(charSequence) : new SubSequence(charSequence).subSequence(start, charSequence.length()); } }
public static BasedSequence of(CharSequence charSequence, int start, int end) { if (charSequence instanceof BasedSequence) return ((BasedSequence) charSequence).subSequence(start, end); else { return charSequence == null ? BasedSequence.NULL : start == 0 && end == charSequence.length() ? new SubSequence(charSequence) : new SubSequence(charSequence).subSequence(start, end); } } }
@Override public SubSequence baseSubSequence(int start, int end) { if (start >= 0 && end <= base.length()) { return start == startOffset && end == endOffset ? this : base != this ? base.baseSubSequence(start, end) : new SubSequence(this, start, end); } if (start < 0 || start > base.length()) { throw new StringIndexOutOfBoundsException("SubCharSequence index: " + start + " out of range: 0, " + length()); } throw new StringIndexOutOfBoundsException("SubCharSequence index: " + end + " out of range: 0, " + length()); }
public static BasedSequence of(CharSequence charSequence) { if (charSequence instanceof BasedSequence) return (BasedSequence) charSequence; else { return charSequence == null ? BasedSequence.NULL : new SubSequence(charSequence); } }
public static BasedSequence of(CharSequence charSequence, int start, int end) { if (charSequence instanceof BasedSequence) return ((BasedSequence) charSequence).subSequence(start, end); else { return charSequence == null ? BasedSequence.NULL : start == 0 && end == charSequence.length() ? new SubSequence(charSequence) : new SubSequence(charSequence).subSequence(start, end); } } }
public static BasedSequence of(CharSequence charSequence, int start) { if (charSequence instanceof BasedSequence) return ((BasedSequence) charSequence).subSequence(start); else { return charSequence == null ? BasedSequence.NULL : start == 0 ? new SubSequence(charSequence) : new SubSequence(charSequence).subSequence(start, charSequence.length()); } }
@Override public SubSequence baseSubSequence(int start, int end) { if (start >= 0 && end <= base.length()) { return start == startOffset && end == endOffset ? this : base != this ? base.baseSubSequence(start, end) : new SubSequence(this, start, end); } if (start < 0 || start > base.length()) { throw new StringIndexOutOfBoundsException("SubCharSequence index: " + start + " out of range: 0, " + length()); } throw new StringIndexOutOfBoundsException("SubCharSequence index: " + end + " out of range: 0, " + length()); }