Package org.apache.cassandra.db
Class MultiCBuilder
- java.lang.Object
-
- org.apache.cassandra.db.MultiCBuilder
-
public abstract class MultiCBuilder extends java.lang.ObjectBuilder that allow to build multiple Clustering/ClusteringBound at the same time.
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanbuilttrueif the clusterings have been build,falseotherwise.protected ClusteringComparatorcomparatorThe table comparator.protected booleancontainsNulltrueif the clusterings contains somenullelements.protected booleancontainsUnsettrueif the composites contains someunsetelements.protected booleanhasMissingElementstrueif some empty collection have been added.protected intsizeThe number of clustering elements that have been added.
-
Constructor Summary
Constructors Modifier Constructor Description protectedMultiCBuilder(ClusteringComparator comparator)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract MultiCBuilderaddAllElementsToAll(java.util.List<java.util.List<java.nio.ByteBuffer>> values)Adds individually each of the specified list of elements to the end of all of the existing composites.abstract MultiCBuilderaddEachElementToAll(java.util.List<java.nio.ByteBuffer> values)Adds individually each of the specified elements to the end of all of the existing clusterings.abstract MultiCBuilderaddElementToAll(java.nio.ByteBuffer value)Adds the specified element to all the clusterings.abstract java.util.NavigableSet<Clustering<?>>build()Builds theclusterings.abstract java.util.NavigableSet<ClusteringBound<?>>buildBound(boolean isStart, boolean isInclusive)Builds theClusteringBoundsabstract java.util.NavigableSet<ClusteringBound<?>>buildBoundForSlice(boolean isStart, boolean isInclusive, boolean isOtherBoundInclusive, java.util.List<ColumnMetadata> columnDefs)Builds theClusteringBounds for slice restrictions.abstract intbuildSize()Returns the current number of results whenbuild()is calledprotected voidcheckUpdateable()booleancontainsNull()Checks if the clusterings contains null elements.booleancontainsUnset()Checks if the clusterings contains unset elements.static MultiCBuildercreate(ClusteringComparator comparator, boolean forMultipleValues)Creates a new emptyMultiCBuilder.booleanhasMissingElements()Checks if some empty list of values have been addedbooleanhasRemaining()Checks if some elements can still be added to the clusterings.intremainingCount()Returns the number of elements that can be added to the clusterings.
-
-
-
Field Detail
-
comparator
protected final ClusteringComparator comparator
The table comparator.
-
size
protected int size
The number of clustering elements that have been added.
-
built
protected boolean built
trueif the clusterings have been build,falseotherwise.
-
containsNull
protected boolean containsNull
trueif the clusterings contains somenullelements.
-
containsUnset
protected boolean containsUnset
trueif the composites contains someunsetelements.
-
hasMissingElements
protected boolean hasMissingElements
trueif some empty collection have been added.
-
-
Constructor Detail
-
MultiCBuilder
protected MultiCBuilder(ClusteringComparator comparator)
-
-
Method Detail
-
create
public static MultiCBuilder create(ClusteringComparator comparator, boolean forMultipleValues)
Creates a new emptyMultiCBuilder.
-
addElementToAll
public abstract MultiCBuilder addElementToAll(java.nio.ByteBuffer value)
Adds the specified element to all the clusterings.If this builder contains 2 clustering: A-B and A-C a call to this method to add D will result in the clusterings: A-B-D and A-C-D.
- Parameters:
value- the value of the next element- Returns:
- this
MulitCBuilder
-
addEachElementToAll
public abstract MultiCBuilder addEachElementToAll(java.util.List<java.nio.ByteBuffer> values)
Adds individually each of the specified elements to the end of all of the existing clusterings.If this builder contains 2 clusterings: A-B and A-C a call to this method to add D and E will result in the 4 clusterings: A-B-D, A-B-E, A-C-D and A-C-E.
- Parameters:
values- the elements to add- Returns:
- this
CompositeBuilder
-
addAllElementsToAll
public abstract MultiCBuilder addAllElementsToAll(java.util.List<java.util.List<java.nio.ByteBuffer>> values)
Adds individually each of the specified list of elements to the end of all of the existing composites.If this builder contains 2 composites: A-B and A-C a call to this method to add [[D, E], [F, G]] will result in the 4 composites: A-B-D-E, A-B-F-G, A-C-D-E and A-C-F-G.
- Parameters:
values- the elements to add- Returns:
- this
CompositeBuilder
-
checkUpdateable
protected void checkUpdateable()
-
remainingCount
public int remainingCount()
Returns the number of elements that can be added to the clusterings.- Returns:
- the number of elements that can be added to the clusterings.
-
buildSize
public abstract int buildSize()
Returns the current number of results whenbuild()is called- Returns:
- the current number of build results
-
containsNull
public boolean containsNull()
Checks if the clusterings contains null elements.- Returns:
trueif the clusterings containsnullelements,falseotherwise.
-
containsUnset
public boolean containsUnset()
Checks if the clusterings contains unset elements.- Returns:
trueif the clusterings containsunsetelements,falseotherwise.
-
hasMissingElements
public boolean hasMissingElements()
Checks if some empty list of values have been added- Returns:
trueif the clusterings have some missing elements,falseotherwise.
-
build
public abstract java.util.NavigableSet<Clustering<?>> build()
Builds theclusterings.- Returns:
- the clusterings
-
buildBoundForSlice
public abstract java.util.NavigableSet<ClusteringBound<?>> buildBoundForSlice(boolean isStart, boolean isInclusive, boolean isOtherBoundInclusive, java.util.List<ColumnMetadata> columnDefs)
Builds theClusteringBounds for slice restrictions.- Parameters:
isStart- specify if the bound is a start oneisInclusive- specify if the bound is inclusive or notisOtherBoundInclusive- specify if the other bound is inclusive or notcolumnDefs- the columns of the slice restriction- Returns:
- the
ClusteringBounds
-
buildBound
public abstract java.util.NavigableSet<ClusteringBound<?>> buildBound(boolean isStart, boolean isInclusive)
Builds theClusteringBounds- Parameters:
isStart- specify if the bound is a start oneisInclusive- specify if the bound is inclusive or not- Returns:
- the
ClusteringBounds
-
hasRemaining
public boolean hasRemaining()
Checks if some elements can still be added to the clusterings.- Returns:
trueif it is possible to add more elements to the clusterings,falseotherwise.
-
-