Record Class NumericTopNOperator.NumericTopNOperatorFactory

java.lang.Object
java.lang.Record
org.elasticsearch.compute.operator.topn.NumericTopNOperator.NumericTopNOperatorFactory
All Implemented Interfaces:
Describable, Operator.OperatorFactory
Enclosing class:
NumericTopNOperator

public static record NumericTopNOperator.NumericTopNOperatorFactory(int topCount, ElementType elementType, boolean asc, boolean nullsFirst, SharedNumericThreshold.Supplier thresholdSupplier) extends Record implements Operator.OperatorFactory
Factory wired in by LocalExecutionPlanner.tryBuildNumericTopN(). Carries the topN limit, the sort element type, and the sort order (asc/desc, nulls position) — everything else (channel layout) is fixed by the planner's precondition check.
  • Constructor Details

    • NumericTopNOperatorFactory

      public NumericTopNOperatorFactory(int topCount, ElementType elementType, boolean asc, boolean nullsFirst)
    • NumericTopNOperatorFactory

      public NumericTopNOperatorFactory(int topCount, ElementType elementType, boolean asc, boolean nullsFirst, @Nullable SharedNumericThreshold.Supplier thresholdSupplier)
      Creates an instance of a NumericTopNOperatorFactory record class.
      Parameters:
      topCount - the value for the topCount record component
      elementType - the value for the elementType record component
      asc - the value for the asc record component
      nullsFirst - the value for the nullsFirst record component
      thresholdSupplier - the value for the thresholdSupplier record component
  • Method Details

    • get

      public Operator get(DriverContext driverContext)
      Description copied from interface: Operator.OperatorFactory
      Creates a new intermediate operator.
      Specified by:
      get in interface Operator.OperatorFactory
    • describe

      public String describe()
      Description copied from interface: Describable
      Returns a description of the component. This description can be more specific than Object::toString.
      Specified by:
      describe in interface Describable
      Returns:
      the description
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • topCount

      public int topCount()
      Returns the value of the topCount record component.
      Returns:
      the value of the topCount record component
    • elementType

      public ElementType elementType()
      Returns the value of the elementType record component.
      Returns:
      the value of the elementType record component
    • asc

      public boolean asc()
      Returns the value of the asc record component.
      Returns:
      the value of the asc record component
    • nullsFirst

      public boolean nullsFirst()
      Returns the value of the nullsFirst record component.
      Returns:
      the value of the nullsFirst record component
    • thresholdSupplier

      @Nullable public SharedNumericThreshold.Supplier thresholdSupplier()
      Returns the value of the thresholdSupplier record component.
      Returns:
      the value of the thresholdSupplier record component