Package io.permazen.core
Class CoreIndex3<V1,V2,V3,T>
java.lang.Object
io.permazen.core.AbstractCoreIndex<T>
io.permazen.core.CoreIndex3<V1,V2,V3,T>
- Type Parameters:
V1
- first index value typeV2
- second index value typeV3
- third index value typeT
- index target type
Core API
Index3
implementation representing a composite index on three fields.
Instances are immutable.
-
Method Summary
Modifier and TypeMethodDescriptionasIndex1()
Get the prefix of this instance that only includes the first two indexed fields.CoreIndex2<V1,
V2, V3> asIndex2()
Get the prefix of this instance that only includes the first three indexed fields.asMap()
View this index as aNavigableMap
of target values keyed by indexed value tuples.View this index as aNavigableMap
ofIndex1
s keyed by the first two values.View this index as aNavigableMap
ofIndex2
s keyed by the first value.asSet()
View this index as aNavigableSet
of tuples.CoreIndex3<V1,
V2, V3, T> Apply key filtering to field values at the specified index.CoreIndex3<V1,
V2, V3, T> withTargetBounds
(Bounds<T> bounds) ImposeBounds
that restrict the range of the target value.CoreIndex3<V1,
V2, V3, T> withValue1Bounds
(Bounds<V1> bounds) ImposeBounds
that restrict the range of the first indexed value.CoreIndex3<V1,
V2, V3, T> withValue2Bounds
(Bounds<V2> bounds) ImposeBounds
that restrict the range of the second indexed value.CoreIndex3<V1,
V2, V3, T> withValue3Bounds
(Bounds<V3> bounds) ImposeBounds
that restrict the range of the third indexed value.Methods inherited from class io.permazen.core.AbstractCoreIndex
getEncodings
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.permazen.index.Index3
numberOfFields
-
Method Details
-
filter
Description copied from class:AbstractCoreIndex
Apply key filtering to field values at the specified index. This method works cummulatively: the new instance filters to the intersection of the given key filter and any existing key filter on that field.- Specified by:
filter
in classAbstractCoreIndex<T>
- Parameters:
index
- zero-based object type field offsetfilter
- key filtering to apply- Returns:
- filtered view of this instance
-
asSet
Description copied from interface:Index3
View this index as aNavigableSet
of tuples. -
asMap
Description copied from interface:Index3
View this index as aNavigableMap
of target values keyed by indexed value tuples. -
asMapOfIndex1
Description copied from interface:Index3
View this index as aNavigableMap
ofIndex1
s keyed by the first two values.- Specified by:
asMapOfIndex1
in interfaceIndex3<V1,
V2, V3, T> - Returns:
NavigableMap
from first two values toIndex1
-
asMapOfIndex2
Description copied from interface:Index3
View this index as aNavigableMap
ofIndex2
s keyed by the first value.- Specified by:
asMapOfIndex2
in interfaceIndex3<V1,
V2, V3, T> - Returns:
NavigableMap
from first value toIndex2
-
asIndex2
Description copied from interface:Index3
Get the prefix of this instance that only includes the first three indexed fields. -
asIndex1
Description copied from interface:Index3
Get the prefix of this instance that only includes the first two indexed fields. -
withValue1Bounds
Description copied from interface:Index3
ImposeBounds
that restrict the range of the first indexed value. -
withValue2Bounds
Description copied from interface:Index3
ImposeBounds
that restrict the range of the second indexed value. -
withValue3Bounds
Description copied from interface:Index3
ImposeBounds
that restrict the range of the third indexed value. -
withTargetBounds
Description copied from interface:Index3
ImposeBounds
that restrict the range of the target value.
-