Package org.apache.cassandra.db
Class MultiCBuilder
- java.lang.Object
-
- org.apache.cassandra.db.MultiCBuilder
-
public abstract class MultiCBuilder extends java.lang.Object
Builder that allow to build multiple Clustering/ClusteringBound at the same time.
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
built
true
if the clusterings have been build,false
otherwise.protected ClusteringComparator
comparator
The table comparator.protected boolean
containsNull
true
if the clusterings contains somenull
elements.protected boolean
containsUnset
true
if the composites contains someunset
elements.protected boolean
hasMissingElements
true
if some empty collection have been added.protected int
size
The number of clustering elements that have been added.
-
Constructor Summary
Constructors Modifier Constructor Description protected
MultiCBuilder(ClusteringComparator comparator)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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.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.abstract MultiCBuilder
addElementToAll(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 theClusteringBound
sabstract java.util.NavigableSet<ClusteringBound<?>>
buildBoundForSlice(boolean isStart, boolean isInclusive, boolean isOtherBoundInclusive, java.util.List<ColumnMetadata> columnDefs)
Builds theClusteringBound
s for slice restrictions.abstract int
buildSize()
Returns the current number of results whenbuild()
is calledprotected void
checkUpdateable()
boolean
containsNull()
Checks if the clusterings contains null elements.boolean
containsUnset()
Checks if the clusterings contains unset elements.static MultiCBuilder
create(ClusteringComparator comparator, boolean forMultipleValues)
Creates a new emptyMultiCBuilder
.boolean
hasMissingElements()
Checks if some empty list of values have been addedboolean
hasRemaining()
Checks if some elements can still be added to the clusterings.int
remainingCount()
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
true
if the clusterings have been build,false
otherwise.
-
containsNull
protected boolean containsNull
true
if the clusterings contains somenull
elements.
-
containsUnset
protected boolean containsUnset
true
if the composites contains someunset
elements.
-
hasMissingElements
protected boolean hasMissingElements
true
if 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:
true
if the clusterings containsnull
elements,false
otherwise.
-
containsUnset
public boolean containsUnset()
Checks if the clusterings contains unset elements.- Returns:
true
if the clusterings containsunset
elements,false
otherwise.
-
hasMissingElements
public boolean hasMissingElements()
Checks if some empty list of values have been added- Returns:
true
if the clusterings have some missing elements,false
otherwise.
-
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 theClusteringBound
s 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
ClusteringBound
s
-
buildBound
public abstract java.util.NavigableSet<ClusteringBound<?>> buildBound(boolean isStart, boolean isInclusive)
Builds theClusteringBound
s- Parameters:
isStart
- specify if the bound is a start oneisInclusive
- specify if the bound is inclusive or not- Returns:
- the
ClusteringBound
s
-
hasRemaining
public boolean hasRemaining()
Checks if some elements can still be added to the clusterings.- Returns:
true
if it is possible to add more elements to the clusterings,false
otherwise.
-
-