Class CharsRef

  • All Implemented Interfaces:
    java.lang.CharSequence, java.lang.Cloneable, java.lang.Comparable<CharsRef>

    public final class CharsRef
    extends java.lang.Object
    implements java.lang.Comparable<CharsRef>, java.lang.CharSequence, java.lang.Cloneable
    Represents char[], as a slice (offset + length) into an existing char[]. The chars member should never be null; use EMPTY_CHARS if necessary.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      char[] chars
      The contents of the CharsRef.
      static char[] EMPTY_CHARS
      An empty character array for convenience
      int length
      Length of used characters.
      int offset
      Offset of first valid character.
    • Constructor Summary

      Constructors 
      Constructor Description
      CharsRef()
      Creates a new CharsRef initialized an empty array zero-length
      CharsRef​(char[] chars, int offset, int length)
      Creates a new CharsRef initialized with the given array, offset and length
      CharsRef​(int capacity)
      Creates a new CharsRef initialized with an array of the given capacity
      CharsRef​(java.lang.String string)
      Creates a new CharsRef initialized with the given Strings character array
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void append​(char[] otherChars, int otherOffset, int otherLength)
      Appends the given array to this CharsRef
      char charAt​(int index)  
      boolean charsEquals​(CharsRef other)  
      CharsRef clone()
      Returns a shallow clone of this instance (the underlying characters are not copied and will be shared by both the returned object and this object.
      int compareTo​(CharsRef other)
      Signed int order comparison
      void copyChars​(char[] otherChars, int otherOffset, int otherLength)
      Copies the given array into this CharsRef.
      void copyChars​(CharsRef other)
      Copies the given CharsRef referenced content into this instance.
      static CharsRef deepCopyOf​(CharsRef other)
      Creates a new CharsRef that points to a copy of the chars from other
      boolean equals​(java.lang.Object other)  
      static java.util.Comparator<CharsRef> getUTF16SortedAsUTF8Comparator()
      Deprecated.
      This comparator is only a transition mechanism
      void grow​(int newLength)
      Used to grow the reference array.
      int hashCode()  
      boolean isValid()
      Performs internal consistency checks.
      int length()  
      java.lang.CharSequence subSequence​(int start, int end)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.lang.CharSequence

        chars, codePoints
    • Field Detail

      • EMPTY_CHARS

        public static final char[] EMPTY_CHARS
        An empty character array for convenience
      • chars

        public char[] chars
        The contents of the CharsRef. Should never be null.
      • offset

        public int offset
        Offset of first valid character.
      • length

        public int length
        Length of used characters.
    • Constructor Detail

      • CharsRef

        public CharsRef()
        Creates a new CharsRef initialized an empty array zero-length
      • CharsRef

        public CharsRef​(int capacity)
        Creates a new CharsRef initialized with an array of the given capacity
      • CharsRef

        public CharsRef​(char[] chars,
                        int offset,
                        int length)
        Creates a new CharsRef initialized with the given array, offset and length
      • CharsRef

        public CharsRef​(java.lang.String string)
        Creates a new CharsRef initialized with the given Strings character array
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • charsEquals

        public boolean charsEquals​(CharsRef other)
      • compareTo

        public int compareTo​(CharsRef other)
        Signed int order comparison
        Specified by:
        compareTo in interface java.lang.Comparable<CharsRef>
      • copyChars

        public void copyChars​(CharsRef other)
        Copies the given CharsRef referenced content into this instance.
        Parameters:
        other - the CharsRef to copy
      • grow

        public void grow​(int newLength)
        Used to grow the reference array. In general this should not be used as it does not take the offset into account.
      • copyChars

        public void copyChars​(char[] otherChars,
                              int otherOffset,
                              int otherLength)
        Copies the given array into this CharsRef.
      • append

        public void append​(char[] otherChars,
                           int otherOffset,
                           int otherLength)
        Appends the given array to this CharsRef
      • toString

        public java.lang.String toString()
        Specified by:
        toString in interface java.lang.CharSequence
        Overrides:
        toString in class java.lang.Object
      • length

        public int length()
        Specified by:
        length in interface java.lang.CharSequence
      • charAt

        public char charAt​(int index)
        Specified by:
        charAt in interface java.lang.CharSequence
      • subSequence

        public java.lang.CharSequence subSequence​(int start,
                                                  int end)
        Specified by:
        subSequence in interface java.lang.CharSequence
      • getUTF16SortedAsUTF8Comparator

        @Deprecated
        public static java.util.Comparator<CharsRef> getUTF16SortedAsUTF8Comparator()
        Deprecated.
        This comparator is only a transition mechanism
      • deepCopyOf

        public static CharsRef deepCopyOf​(CharsRef other)
        Creates a new CharsRef that points to a copy of the chars from other

        The returned CharsRef will have a length of other.length and an offset of zero.

      • isValid

        public boolean isValid()
        Performs internal consistency checks. Always returns true (or throws IllegalStateException)