Class SimpleString
- java.lang.Object
-
- org.apache.activemq.artemis.api.core.SimpleString
-
- All Implemented Interfaces:
Serializable
,CharSequence
,Comparable<SimpleString>
public final class SimpleString extends Object implements CharSequence, Serializable, Comparable<SimpleString>
A simple String class that can store all characters, and stores as simplebyte[]
, this minimises expensive copying between String objects.This object is used heavily throughout ActiveMQ Artemis for performance reasons.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SimpleString.ByteBufSimpleStringPool
static class
SimpleString.StringSimpleStringPool
-
Constructor Summary
Constructors Constructor Description SimpleString(byte[] data)
creates a SimpleString from a byte arraySimpleString(char c)
SimpleString(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 charSimpleString
concat(String toAdd)
Concatenates a SimpleString and a StringSimpleString
concat(SimpleString toAdd)
Concatenates 2 SimpleString'sboolean
contains(char c)
checks to see if this SimpleString contains the char parameter passed inboolean
containsEitherOf(char c, char d)
boolean
equals(io.netty.buffer.ByteBuf byteBuf, int offset, int length)
boolean
equals(Object other)
void
getChars(int srcBegin, int srcEnd, char[] dst, int dstPos)
This method performs a similar function toString.getChars(int, int, char[], int)
.byte[]
getData()
returns the underlying byte array of this SimpleStringString[]
getPaths(char separator)
note the result of the first use is cached, the separator is configured on the postoffice so will be static for the duration of a server instance.int
hashCode()
boolean
isEmpty()
int
length()
static SimpleString
readNullableSimpleString(io.netty.buffer.ByteBuf buffer)
static SimpleString
readNullableSimpleString(io.netty.buffer.ByteBuf buffer, SimpleString.ByteBufSimpleStringPool pool)
static SimpleString
readSimpleString(io.netty.buffer.ByteBuf buffer)
static SimpleString
readSimpleString(io.netty.buffer.ByteBuf buffer, int length)
static SimpleString
readSimpleString(io.netty.buffer.ByteBuf buffer, SimpleString.ByteBufSimpleStringPool pool)
int
sizeof()
returns the size of this SimpleStringstatic int
sizeofNullableString(SimpleString str)
returns the size of a SimpleString which could be nullstatic int
sizeofString(SimpleString str)
returns the size of a SimpleStringSimpleString[]
split(char delim)
Splits this SimpleString into an array of SimpleString using the char param as the delimiter.boolean
startsWith(char other)
returns true if the SimpleString parameter starts with the same char.boolean
startsWith(SimpleString other)
returns true if the SimpleString parameter starts with the same data as this one.SimpleString
subSeq(int start, int end)
CharSequence
subSequence(int start, int end)
static SimpleString
toSimpleString(String string)
Returns a SimpleString constructed from thestring
parameter.static SimpleString
toSimpleString(String string, SimpleString.StringSimpleStringPool pool)
String
toString()
static void
writeNullableSimpleString(io.netty.buffer.ByteBuf buffer, SimpleString val)
static void
writeSimpleString(io.netty.buffer.ByteBuf buffer, SimpleString val)
-
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(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(String string)
Returns a SimpleString constructed from thestring
parameter.If
string
isnull
, the return value will benull
too.- Parameters:
string
- String used to instantiate a SimpleString.- Returns:
- A new SimpleString
-
toSimpleString
public static SimpleString toSimpleString(String string, SimpleString.StringSimpleStringPool pool)
-
isEmpty
public boolean isEmpty()
-
length
public int length()
- Specified by:
length
in interfaceCharSequence
-
charAt
public char charAt(int pos)
- Specified by:
charAt
in interfaceCharSequence
-
subSequence
public CharSequence subSequence(int start, int end)
- Specified by:
subSequence
in interfaceCharSequence
-
readNullableSimpleString
public static SimpleString readNullableSimpleString(io.netty.buffer.ByteBuf buffer)
-
readNullableSimpleString
public static SimpleString readNullableSimpleString(io.netty.buffer.ByteBuf buffer, SimpleString.ByteBufSimpleStringPool pool)
-
readSimpleString
public static SimpleString readSimpleString(io.netty.buffer.ByteBuf buffer)
-
readSimpleString
public static SimpleString readSimpleString(io.netty.buffer.ByteBuf buffer, SimpleString.ByteBufSimpleStringPool pool)
-
readSimpleString
public static SimpleString readSimpleString(io.netty.buffer.ByteBuf buffer, int length)
-
writeNullableSimpleString
public static void writeNullableSimpleString(io.netty.buffer.ByteBuf buffer, SimpleString val)
-
writeSimpleString
public static void writeSimpleString(io.netty.buffer.ByteBuf buffer, SimpleString val)
-
subSeq
public SimpleString subSeq(int start, int end)
-
compareTo
public int compareTo(SimpleString o)
- Specified by:
compareTo
in interfaceComparable<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
-
startsWith
public boolean startsWith(char other)
returns true if the SimpleString parameter starts with the same char. false if not.- Parameters:
other
- the char to look for- Returns:
- true if this SimpleString starts with the same data
-
toString
public String toString()
- Specified by:
toString
in interfaceCharSequence
- Overrides:
toString
in classObject
-
getPaths
public String[] getPaths(char separator)
note the result of the first use is cached, the separator is configured on the postoffice so will be static for the duration of a server instance. calling with different separator values could give invalid results- Parameters:
separator
- value from wildcardConfiguration- Returns:
- String[] reference to the split paths or the cached value if previously called
-
equals
public boolean equals(io.netty.buffer.ByteBuf byteBuf, int offset, int length)
Returnstrue
if theSimpleString
encoded content intobytes
is equals tos
,false
otherwise.It assumes that the
bytes
content is read usingreadSimpleString(ByteBuf, int)
ie starting right after the length field.
-
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.
-
containsEitherOf
public boolean containsEitherOf(char c, char d)
-
concat
public SimpleString concat(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 toString.getChars(int, int, char[], int)
. This is mainly used by the Parsers on Filters- Parameters:
srcBegin
- The srcBeginsrcEnd
- The srcEnddst
- The destination arraydstPos
- The destination position
-
-