Class 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 some null elements.
      protected boolean containsUnset
      true if the composites contains some unset elements.
      protected boolean hasMissingElements
      true if some empty collection have been added.
      protected int size
      The number of clustering elements that have been added.
    • Field Detail

      • 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 some null elements.
      • containsUnset

        protected boolean containsUnset
        true if the composites contains some unset elements.
      • hasMissingElements

        protected boolean hasMissingElements
        true if some empty collection have been added.
    • Method Detail

      • 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 when build() 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 contains null elements, false otherwise.
      • containsUnset

        public boolean containsUnset()
        Checks if the clusterings contains unset elements.
        Returns:
        true if the clusterings contains unset 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 the clusterings.
        Returns:
        the clusterings
      • buildBoundForSlice

        public abstract java.util.NavigableSet<ClusteringBound<?>> buildBoundForSlice​(boolean isStart,
                                                                                      boolean isInclusive,
                                                                                      boolean isOtherBoundInclusive,
                                                                                      java.util.List<ColumnMetadata> columnDefs)
        Builds the ClusteringBounds for slice restrictions.
        Parameters:
        isStart - specify if the bound is a start one
        isInclusive - specify if the bound is inclusive or not
        isOtherBoundInclusive - specify if the other bound is inclusive or not
        columnDefs - the columns of the slice restriction
        Returns:
        the ClusteringBounds
      • buildBound

        public abstract java.util.NavigableSet<ClusteringBound<?>> buildBound​(boolean isStart,
                                                                              boolean isInclusive)
        Builds the ClusteringBounds
        Parameters:
        isStart - specify if the bound is a start one
        isInclusive - 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:
        true if it is possible to add more elements to the clusterings, false otherwise.