Package org.immutables.ordinal
Class InterningOrdinalDomain<S,E extends OrdinalValue<E>>
java.lang.Object
org.immutables.ordinal.OrdinalDomain<E>
org.immutables.ordinal.InterningOrdinalDomain<S,E>
- All Implemented Interfaces:
Iterable<E>
@ThreadSafe
public abstract class InterningOrdinalDomain<S,E extends OrdinalValue<E>>
extends OrdinalDomain<E>
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract EextractValue(S valueSample, int ordinal) final Eget(int ordinal) Gets element from domain by corresponding ordinal value.final EinternOrdinal(S valueSample) iterator()Iterator over all present inhabitants of ordinal domain.final intlength()Current length of ordinal domain.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
values
-
internedInstances
-
-
Constructor Details
-
InterningOrdinalDomain
public InterningOrdinalDomain()
-
-
Method Details
-
internOrdinal
-
extractValue
-
iterator
Description copied from class:OrdinalDomainIterator over all present inhabitants of ordinal domain.- Specified by:
iteratorin interfaceIterable<S>- Overrides:
iteratorin classOrdinalDomain<E extends OrdinalValue<E>>- Returns:
- snapshot iterator of elements in ordinal domain.
-
get
Description copied from class:OrdinalDomainGets element from domain by corresponding ordinal value. It is guaranteed that returned element will haveOrdinalValue.ordinal()value equal to suppliedordinalparameter.- Specified by:
getin classOrdinalDomain<E extends OrdinalValue<E>>- Parameters:
ordinal- ordinal value- Returns:
- the element by ordinal value
-
length
public final int length()Description copied from class:OrdinalDomainCurrent length of ordinal domain. Be caution that length is not required to be stable and could grow, as such it could be used as a hint.- Specified by:
lengthin classOrdinalDomain<E extends OrdinalValue<E>>- Returns:
- the domain length: current max ordinal value plus one
-