Class LongKeyedBucketOrds

All Implemented Interfaces:
Closeable, AutoCloseable, Releasable
Direct Known Subclasses:
LongKeyedBucketOrds.FromMany, LongKeyedBucketOrds.FromManySmall, LongKeyedBucketOrds.FromSingle

public abstract class LongKeyedBucketOrds extends Object implements Releasable
Maps owning bucket ordinals and long bucket keys to bucket ordinals.
  • Method Details

    • build

      public static LongKeyedBucketOrds build(BigArrays bigArrays, CardinalityUpperBound cardinality)
      Build a LongKeyedBucketOrds who's values have unknown bounds.
    • buildForValueRange

      public static LongKeyedBucketOrds buildForValueRange(BigArrays bigArrays, CardinalityUpperBound cardinality, long min, long max)
      Build a LongKeyedBucketOrds who's values have known bounds.
    • add

      public abstract long add(long owningBucketOrd, long value)
      Add the owningBucketOrd, value pair. Return the ord for their bucket if they have yet to be added, or -1-ord if they were already present.
    • bucketsInOrd

      public abstract long bucketsInOrd(long owningBucketOrd)
      Count the buckets in owningBucketOrd.

      Some aggregations expect this to be fast but most wouldn't mind particularly if it weren't.

    • find

      public abstract long find(long owningBucketOrd, long value)
      Find the owningBucketOrd, value pair. Return the ord for their bucket if they have been added or -1 if they haven't.
    • get

      public abstract long get(long ordinal)
      Returns the value currently associated with the bucket ordinal.
    • size

      public abstract long size()
      The number of collected buckets.
    • maxOwningBucketOrd

      public abstract long maxOwningBucketOrd()
      The maximum possible used owningBucketOrd.
    • decribe

      public abstract String decribe()
      Description used in profile results.
    • ordsEnum

      public abstract LongKeyedBucketOrds.BucketOrdsEnum ordsEnum(long owningBucketOrd)
      Build an iterator for buckets inside owningBucketOrd in order of increasing ord.

      When this is first returns it is "unpositioned" and you must call to move it to the first value.