Package org.eclipse.emf.common.util
Class SegmentSequence.SegmentSequencePool.SegmentsAccessUnit
java.lang.Object
org.eclipse.emf.common.util.Pool.AccessUnit<SegmentSequence>
org.eclipse.emf.common.util.SegmentSequence.SegmentSequencePool.AccessUnitBase
org.eclipse.emf.common.util.SegmentSequence.SegmentSequencePool.SegmentsAccessUnit
- Enclosing class:
SegmentSequence.SegmentSequencePool
protected static class SegmentSequence.SegmentSequencePool.SegmentsAccessUnit
extends SegmentSequence.SegmentSequencePool.AccessUnitBase
An access unit for accessing a delimiter and segments.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intThe number of segments to consider.protected StringThe delimiter being accessed.protected booleanWhether the segments need copying when interned.protected booleanWhether the string sin the segments need interning.protected String[]The segments being accessed.Fields inherited from class org.eclipse.emf.common.util.Pool.AccessUnit
createdEntry, entries, hashCode, matchingIndex, next, queue, values, valuesLength -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected -
Method Summary
Modifier and TypeMethodDescriptionprotected static booleanReturns true if the arrays are of the same length and have equal strings.Gets the value that should be added to the pool.protected booleanmatches(SegmentSequence value) Used to determine whether the given value from the pool is equal to the value being accessed.voidreset(boolean isExclusive) Prepare the access unit for reuse.protected voidsetValue(boolean needsCopying, boolean needsToIntern, String delimiter, String[] segments, int count) Caches the arguments the computes the hash code.Methods inherited from class org.eclipse.emf.common.util.SegmentSequence.SegmentSequencePool.AccessUnitBase
getValue, hashCode, setArbitraryValue, setValueMethods inherited from class org.eclipse.emf.common.util.Pool.AccessUnit
add, getEntry, match, rematches
-
Field Details
-
needsCopying
protected boolean needsCopyingWhether the segments need copying when interned. -
needsToIntern
protected boolean needsToInternWhether the string sin the segments need interning. -
delimiter
The delimiter being accessed. -
segments
The segments being accessed. -
count
protected int countThe number of segments to consider.
-
-
Constructor Details
-
SegmentsAccessUnit
-
-
Method Details
-
setValue
protected void setValue(boolean needsCopying, boolean needsToIntern, String delimiter, String[] segments, int count) Caches the arguments the computes the hash code. -
getInternalizedValue
Description copied from class:Pool.AccessUnitGets the value that should be added to the pool. This can be specialized to internalized the value, e.g., to make a copy that uses minimal storage or is read only.- Overrides:
getInternalizedValuein classPool.AccessUnit<SegmentSequence>
-
matches
Description copied from class:Pool.AccessUnitUsed to determine whether the given value from the pool is equal to the value being accessed. The default implementation usesObject.equals(Object).- Overrides:
matchesin classPool.AccessUnit<SegmentSequence>
-
equals
Returns true if the arrays are of the same length and have equal strings. -
reset
public void reset(boolean isExclusive) Description copied from class:Pool.AccessUnitPrepare the access unit for reuse. In particular remove the hard references to each element in both thePool.AccessUnit.valuesandPool.AccessUnit.entriesand then reset thePool.AccessUnit.valuesLengthto 0- Overrides:
resetin classPool.AccessUnit<SegmentSequence>
-