Class SimpleString

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.CharSequence, java.lang.Comparable<SimpleString>

    public final class SimpleString
    extends java.lang.Object
    implements java.lang.CharSequence, java.io.Serializable, java.lang.Comparable<SimpleString>
    A simple String class that can store all characters, and stores as simple byte[], this minimises expensive copying between String objects.

    This object is used heavily throughout ActiveMQ Artemis for performance reasons.

    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      SimpleString​(byte[] data)
      creates a SimpleString from a byte array
      SimpleString​(char c)  
      SimpleString​(java.lang.String string)
      creates a SimpleString from a conventional String
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      char charAt​(int pos)  
      int compareTo​(SimpleString o)  
      SimpleString concat​(char c)
      Concatenates a SimpleString and a char
      SimpleString concat​(SimpleString toAdd)
      Concatenates 2 SimpleString's
      SimpleString concat​(java.lang.String toAdd)
      Concatenates a SimpleString and a String
      boolean contains​(char c)
      checks to see if this SimpleString contains the char parameter passed in
      boolean equals​(java.lang.Object other)  
      void getChars​(int srcBegin, int srcEnd, char[] dst, int dstPos)
      This method performs a similar function to String.getChars(int, int, char[], int).
      byte[] getData()
      returns the underlying byte array of this SimpleString
      int hashCode()  
      boolean isEmpty()  
      int length()  
      int sizeof()
      returns the size of this SimpleString
      static int sizeofNullableString​(SimpleString str)
      returns the size of a SimpleString which could be null
      static int sizeofString​(SimpleString str)
      returns the size of a SimpleString
      SimpleString[] split​(char delim)
      Splits this SimpleString into an array of SimpleString using the char param as the delimiter.
      boolean startsWith​(SimpleString other)
      returns true if the SimpleString parameter starts with the same data as this one.
      SimpleString subSeq​(int start, int end)  
      java.lang.CharSequence subSequence​(int start, int end)  
      static SimpleString toSimpleString​(java.lang.String string)
      Returns a SimpleString constructed from the string parameter.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

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

        chars, codePoints
    • Constructor Detail

      • SimpleString

        public SimpleString​(java.lang.String string)
        creates a SimpleString from a conventional String
        Parameters:
        string - the string to transform
      • SimpleString

        public SimpleString​(byte[] data)
        creates a SimpleString from a byte array
        Parameters:
        data - the byte array to use
      • SimpleString

        public SimpleString​(char c)
    • Method Detail

      • toSimpleString

        public static SimpleString toSimpleString​(java.lang.String string)
        Returns a SimpleString constructed from the string parameter.

        If string is null, the return value will be null too.

        Parameters:
        string - String used to instantiate a SimpleString.
        Returns:
        A new SimpleString
      • isEmpty

        public boolean isEmpty()
      • length

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

        public char charAt​(int pos)
        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
      • subSeq

        public SimpleString subSeq​(int start,
                                   int end)
      • compareTo

        public int compareTo​(SimpleString o)
        Specified by:
        compareTo in interface java.lang.Comparable<SimpleString>
      • getData

        public byte[] getData()
        returns the underlying byte array of this SimpleString
        Returns:
        the byte array
      • startsWith

        public boolean startsWith​(SimpleString other)
        returns true if the SimpleString parameter starts with the same data as this one. false if not.
        Parameters:
        other - the SimpleString to look for
        Returns:
        true if this SimpleString starts with the same data
      • toString

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

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

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

        public SimpleString[] split​(char delim)
        Splits this SimpleString into an array of SimpleString using the char param as the delimiter. i.e. "a.b" would return "a" and "b" if . was the delimiter
        Parameters:
        delim - The delimiter to split this SimpleString on.
        Returns:
        An array of SimpleStrings
      • contains

        public boolean contains​(char c)
        checks to see if this SimpleString contains the char parameter passed in
        Parameters:
        c - the char to check for
        Returns:
        true if the char is found, false otherwise.
      • concat

        public SimpleString concat​(java.lang.String toAdd)
        Concatenates a SimpleString and a String
        Parameters:
        toAdd - the String to concatenate with.
        Returns:
        the concatenated SimpleString
      • concat

        public SimpleString concat​(SimpleString toAdd)
        Concatenates 2 SimpleString's
        Parameters:
        toAdd - the SimpleString to concatenate with.
        Returns:
        the concatenated SimpleString
      • concat

        public SimpleString concat​(char c)
        Concatenates a SimpleString and a char
        Parameters:
        c - the char to concate with.
        Returns:
        the concatenated SimpleString
      • sizeof

        public int sizeof()
        returns the size of this SimpleString
        Returns:
        the size
      • sizeofString

        public static int sizeofString​(SimpleString str)
        returns the size of a SimpleString
        Parameters:
        str - the SimpleString to check
        Returns:
        the size
      • sizeofNullableString

        public static int sizeofNullableString​(SimpleString str)
        returns the size of a SimpleString which could be null
        Parameters:
        str - the SimpleString to check
        Returns:
        the size
      • getChars

        public void getChars​(int srcBegin,
                             int srcEnd,
                             char[] dst,
                             int dstPos)
        This method performs a similar function to String.getChars(int, int, char[], int). This is mainly used by the Parsers on Filters
        Parameters:
        srcBegin - The srcBegin
        srcEnd - The srcEnd
        dst - The destination array
        dstPos - The destination position