public final class SparseIp6AddressTokenList extends Object implements MutableIp6AddressTokenSequence
MutableIp6AddressTokenSequence which stores
data sparsely. That is, zero values are not stored. This is a much
more efficient mechanism when the majority of values are zero.| Constructor and Description |
|---|
SparseIp6AddressTokenList(int initialCapacity)
Creates a new empty list.
|
| Modifier and Type | Method and Description |
|---|---|
void |
append(byte[] value)
Appends the specified ip6address value to this sequence.
|
void |
append(byte[] value,
int count)
Appends the specified ip6address value to this sequence
multiple times.
|
void |
append(TokenSequence data)
Appends all tokens in the specified sequence to this
sequence.
|
void |
append(TokenSequence data,
int start,
int length)
Appends a subsequence of tokens in the specified sequence
to this sequence.
|
void |
append(TokenValued value)
Appends the specified token value to this sequence.
|
void |
append(TokenValued value,
long count)
Appends the specified token value to this sequence
multiple times.
|
void |
appendNull()
Append a null value to this sequence.
|
void |
appendNull(int count)
Append a null value to this sequence.
|
void |
appendZero()
Appends a zero value to this sequence.
|
void |
appendZero(int count)
Appends the specified number of zero values to this sequence.
|
int |
compareElement(int absoluteIndex,
TokenValued value)
Compares the value of the specified token to the token at which
the given port is positioned.
|
int |
compareElements(int lhsAbsoluteIndex,
int rhsAbsoluteIndex)
Compares the values of the tokens at the specified
positions.
|
void |
ensureCanonical()
Ensures that the internal representation is in a canonical form such
that it can be read safely by multiple threads.
|
void |
fillValue(int start,
int length,
TokenValued value)
Sets the tokens in the specified subsequence to the given value.
|
byte[] |
getAddress(int index)
Gets the value of the specified token as
a raw IPv6 address value.
|
ElementComparator |
getElementComparator(TokenOrder sortOrder)
Gets an
ElementComparator for this sequence using
the specified ordering. |
Inet6Address |
getInetAddress(int index)
Gets the value of the specified token as
an Inet6Address value.
|
long |
getModificationCount()
Returns the current modification count.
|
Ip6AddressValued |
getToken(int index)
Gets the value at the specified position.
|
Ip6AddressSettable |
getTokenSetter(int index)
Returns a mutator for the given index.
|
ScalarTokenType |
getType()
Gets the data type of the tokens in the sequence.
|
void |
getValues(int start,
long[][] values,
boolean[] nulls,
int offset,
int length)
Gets the values and null indicators for a range of tokens.
|
int |
hashCode(int absoluteIndex)
Gets the hash code for the token at the specified position.
|
boolean |
isNull()
Returns whether all elements are null.
|
boolean |
isNull(int absoluteIndex)
Indicates whether the specified token has a null value.
|
boolean |
isZero(int absoluteIndex)
Indicates whether the specified token has a zero value.
|
Ip6AddressValuedIterator |
newValueIterator()
Creates an iterator over the non-null values of this sequence.
|
void |
reset()
Removes all elements from the sequence.
|
void |
set(int absoluteIndex,
byte[] value)
Sets the token at the specified position to the given raw ip6address value.
|
void |
set(int absoluteIndex,
Inet4Address value)
Sets the token at the specified position to the given Inet4Address value.
|
void |
set(int absoluteIndex,
Inet6Address value)
Sets the token at the specified position to the given Inet6Address value.
|
void |
set(int absoluteIndex,
long[] value)
Sets the token at the specified position to the given raw ip6address
value as a pair of longs.
|
void |
setNull(int absoluteIndex)
Sets the token at the specified position to be null valued.
|
void |
setNull(int start,
int length)
Sets the tokens in the specified subsequence to be null valued.
|
void |
setValue(int absoluteIndex,
TokenValued value)
Sets the token at the specified position to the given value.
|
void |
setValues(int start,
TokenSequence values,
int offset,
int length)
Sets the tokens in the specified subsequence of the array
to the corresponding values from a subsequence of the given source
sequence.
|
void |
setZero(int absoluteIndex)
Sets the token at the specified position to be zero valued.
|
void |
setZero(int start,
int length)
Sets the tokens in the specified subsequence to be zero valued.
|
int |
size()
Gets the length of the sequence.
|
String |
toString() |
String |
toString(int absoluteIndex)
Gets the string representation of the token at the specified
position.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitensureCanonical, getModificationCountgetType, isNull, isZeroappendNull, appendNull, appendZero, appendZero, fillValue, reset, setNull, setNull, setValue, setValues, setZero, setZerocompareElement, compareElements, getElementComparator, hashCode, isNull, size, toStringappend, append, append, appendpublic SparseIp6AddressTokenList(int initialCapacity)
initialCapacity - initial storage capacity of the listpublic void append(byte[] value)
MutableIp6AddressTokenSequenceappend in interface MutableIp6AddressTokenSequencevalue - the value to append. If null,
this is equivalent to appendNull().public void append(byte[] value,
int count)
MutableIp6AddressTokenSequenceappend in interface MutableIp6AddressTokenSequencevalue - the value to append. If null,
this is equivalent to appendNull(count).count - the number of copies to append.public void set(int absoluteIndex,
long[] value)
MutableIp6AddressTokenSequenceset in interface MutableIp6AddressTokenSequenceabsoluteIndex - the position of the token in the arrayvalue - the ip6address as a pair of longs to which to set the token.
Passing null is equivalent to calling setNull(index).public void set(int absoluteIndex,
byte[] value)
MutableIp6AddressTokenSequenceThe input array is copied to prevent later modification of the value that is set.
set in interface MutableIp6AddressTokenSequenceabsoluteIndex - the position of the token in the arrayvalue - the raw ip4address value to which to set the token.
Passing null is equivalent to calling setNull(index).public void set(int absoluteIndex,
Inet4Address value)
MutableIp6AddressTokenSequenceset in interface MutableIp6AddressTokenSequenceabsoluteIndex - the position of the token in the arrayvalue - the Inet6Address value to which to set the token.
Passing null is equivalent to calling setNull(index).public void set(int absoluteIndex,
Inet6Address value)
MutableIp6AddressTokenSequenceset in interface MutableIp6AddressTokenSequenceabsoluteIndex - the position of the token in the arrayvalue - the Inet6Address value to which to set the token.
Passing null is equivalent to calling setNull(index).public byte[] getAddress(int index)
Ip6AddressTokenSequenceA copy of the value is returned.
getAddress in interface Ip6AddressTokenSequenceindex - the position of the token in the sequencenull is returned.public Inet6Address getInetAddress(int index)
Ip6AddressTokenSequencegetInetAddress in interface Ip6AddressTokenSequenceindex - the position of the token in the sequencenull is returned.public Ip6AddressValued getToken(int index)
TokenSequencegetToken in interface Ip6AddressTokenSequencegetToken in interface ScalarTokenSequencegetToken in interface TokenSequenceindex - the index of the tokenpublic Ip6AddressSettable getTokenSetter(int index)
MutableTokenSequencegetTokenSetter in interface MutableTokenSequencegetTokenSetter in interface MutableIp6AddressTokenSequencegetTokenSetter in interface MutableScalarTokenSequenceindex - the positionpublic void getValues(int start,
long[][] values,
boolean[] nulls,
int offset,
int length)
Ip6AddressTokenSequenceReferences to the values of the tokens are returned. Modifying these references modify the values of the tokens in the sequence.
getValues in interface Ip6AddressTokenSequencestart - the starting index of the rangevalues - an array into which to place element valuesnulls - an array into which to place null indicator valuesoffset - the starting offset into the target arrays. That is,
elements[offset] and nulls[offset] will get the
value and null indicator respectively of the token at position
start, and so on.length - number of tokens to getpublic Ip6AddressValuedIterator newValueIterator()
TokenSequencenewValueIterator in interface Ip6AddressTokenSequencenewValueIterator in interface ScalarTokenSequencenewValueIterator in interface TokenSequencepublic final boolean isNull()
ScalarTokenSequenceisNull in interface ScalarTokenSequencepublic final long getModificationCount()
MutableScalarTokenSequencegetModificationCount in interface MutableScalarTokenSequencepublic final int size()
TokenSequencesize in interface TokenSequencepublic final void setZero(int absoluteIndex)
MutableTokenSequencesetZero in interface MutableTokenSequenceabsoluteIndex - the position of the token in the arraypublic void setZero(int start,
int length)
MutableTokenSequencesetZero in interface MutableTokenSequencestart - the starting index of the subsequence in the arraylength - the length of the subsequencepublic final void setNull(int absoluteIndex)
MutableTokenSequencesetNull in interface MutableTokenSequenceabsoluteIndex - the position of the token in the arraypublic final void setNull(int start,
int length)
MutableTokenSequencesetNull in interface MutableTokenSequencestart - the starting index of the subsequence in the arraylength - the length of the subsequencepublic ScalarTokenType getType()
ScalarTokenSequencegetType in interface ScalarTokenSequencegetType in interface ScalarTypedgetType in interface TokenTypedpublic final boolean isNull(int absoluteIndex)
TokenSequenceisNull in interface TokenSequenceabsoluteIndex - the index of the tokentrue if the element is null,
false otherwisepublic final boolean isZero(int absoluteIndex)
ScalarTokenSequenceisZero in interface ScalarTokenSequenceabsoluteIndex - the index of the tokentrue if the element is zero,
false otherwisepublic final int compareElement(int absoluteIndex,
TokenValued value)
TokenSequencecompareElement in interface TokenSequenceabsoluteIndex - the index of the tokenvalue - the input port positioned at the token for
comparison0 if the values are equal,
1 if the sequence token value is greater,
-1 if the sequence token value is lesser.
A null value is greater than any other non-null;
two null values compare as equal.public final int compareElements(int lhsAbsoluteIndex,
int rhsAbsoluteIndex)
TokenSequencecompareElements in interface TokenSequencelhsAbsoluteIndex - the index of the left-hand elementrhsAbsoluteIndex - the index of the right-hand element0 if the values are equal,
1 if the left hand value is greater,
-1 if the left hand value is lesser.
A null value is greater than any other non-null;
two null values compare as equal.public final ElementComparator getElementComparator(TokenOrder sortOrder)
TokenSequenceElementComparator for this sequence using
the specified ordering.getElementComparator in interface TokenSequencesortOrder - the desired orderingElementComparator for this sequence.public final int hashCode(int absoluteIndex)
TokenSequencehashCode in interface TokenSequenceabsoluteIndex - the index of the tokenpublic final String toString(int absoluteIndex)
TokenSequencetoString in interface TokenSequenceabsoluteIndex - the index of the tokenpublic final void appendNull()
appendNull in interface MutableTokenSequencepublic final void appendNull(int count)
appendNull in interface MutableTokenSequencecount - the number of null values to appendpublic final void appendZero()
MutableTokenSequenceappendZero in interface MutableTokenSequencepublic void appendZero(int count)
MutableTokenSequenceappendZero in interface MutableTokenSequencecount - the number of zero values to appendpublic final void reset()
MutableTokenSequencereset in interface MutableTokenSequencepublic final void append(TokenValued value)
TokenAppendableThe data types of the sequence and the value must be compatible. If the types are not identical, appropriate coercion will be attempted.
append in interface TokenAppendablevalue - the token value to appendpublic final void append(TokenValued value, long count)
TokenAppendableThe data types of the sequence and the value must be compatible. If the types are not identical, appropriate coercion will be attempted.
append in interface TokenAppendablevalue - the token value to appendcount - the number of copies to appendpublic final void setValue(int absoluteIndex,
TokenValued value)
MutableTokenSequencesetValue in interface MutableTokenSequenceabsoluteIndex - the position of the token in the arrayvalue - the value to which to set the token. This value
must be of an appropriate type for the array.public final void fillValue(int start,
int length,
TokenValued value)
MutableTokenSequencefillValue in interface MutableTokenSequencestart - the starting index of the subsequence in the arraylength - the length of the subsequencevalue - the value to which to set the tokens. This value
must be of an appropriate type for the arraypublic final void setValues(int start,
TokenSequence values,
int offset,
int length)
MutableTokenSequencesetValues in interface MutableTokenSequencestart - the starting index of the subsequence in the arrayvalues - the source sequence. This sequence must be
of an appropriate type for the array.offset - the starting index in the source sequence.
Corresponding values will be taken relative to this position.
That is, the value of the token at position offset in
values will be assigned to the token at position
start, and so on.length - the number of tokens to copypublic final void append(TokenSequence data)
TokenAppendableThe data types of the sequences must be compatible. If not identical, appropriate coercion will be attempted.
append in interface TokenAppendabledata - the sequence to appendpublic final void append(TokenSequence data, int start, int length)
TokenAppendableThe data types of the sequences must be compatible. If not identical, appropriate coercion will be attempted.
append in interface TokenAppendabledata - the sequence containing tokens to appendstart - the starting index of the subsequence in the sourcelength - the length of the subsequencepublic final void ensureCanonical()
MutableScalarTokenSequenceensureCanonical in interface MutableScalarTokenSequenceCopyright © 2020 Actian Corporation. All rights reserved.