protected static class SegmentSequence.SegmentSequencePool.SegmentsAccessUnit extends SegmentSequence.SegmentSequencePool.AccessUnitBase
Modifier and Type | Class and Description |
---|---|
protected static class |
SegmentSequence.SegmentSequencePool.SegmentsAccessUnit.Queue |
Modifier and Type | Field and Description |
---|---|
protected int |
count
The number of segments to consider.
|
protected java.lang.String |
delimiter
The delimiter being accessed.
|
protected boolean |
needsCopying
Whether the segments need copying when interned.
|
protected boolean |
needsToIntern
Whether the string sin the segments need interning.
|
protected java.lang.String[] |
segments
The segments being accessed.
|
createdEntry, entries, hashCode, matchingIndex, next, queue, values, valuesLength
Modifier | Constructor and Description |
---|---|
protected |
SegmentSequence.SegmentSequencePool.SegmentsAccessUnit(SegmentSequence.SegmentSequencePool.SegmentsAccessUnit.Queue queue) |
Modifier and Type | Method and Description |
---|---|
protected static boolean |
equals(java.lang.String[] segments1,
int length,
java.lang.String[] segments2)
Returns true if the arrays are of the same length and have equal strings.
|
SegmentSequence |
getInternalizedValue()
Gets the value that should be added to the pool.
|
protected boolean |
matches(SegmentSequence value)
Used to determine whether the given value from the pool is equal to the value being accessed.
|
void |
reset(boolean isExclusive)
Prepare the access unit for reuse.
|
protected void |
setValue(boolean needsCopying,
boolean needsToIntern,
java.lang.String delimiter,
java.lang.String[] segments,
int count)
Caches the arguments the computes the hash code.
|
getValue, hashCode, setArbitraryValue, setValue
add, getEntry, match, rematches
protected boolean needsCopying
protected boolean needsToIntern
protected java.lang.String delimiter
protected java.lang.String[] segments
protected int count
protected SegmentSequence.SegmentSequencePool.SegmentsAccessUnit(SegmentSequence.SegmentSequencePool.SegmentsAccessUnit.Queue queue)
protected void setValue(boolean needsCopying, boolean needsToIntern, java.lang.String delimiter, java.lang.String[] segments, int count)
public SegmentSequence getInternalizedValue()
Pool.AccessUnit
getInternalizedValue
in class Pool.AccessUnit<SegmentSequence>
protected boolean matches(SegmentSequence value)
Pool.AccessUnit
Object.equals(Object)
.matches
in class Pool.AccessUnit<SegmentSequence>
protected static boolean equals(java.lang.String[] segments1, int length, java.lang.String[] segments2)
public void reset(boolean isExclusive)
Pool.AccessUnit
#getValues()
and #getEntries()
and then reset the Pool.AccessUnit.valuesLength
to 0reset
in class Pool.AccessUnit<SegmentSequence>