Package org.eclipse.rdf4j.query.algebra

## Class Slice

- java.lang.Object
- - org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
  - - org.eclipse.rdf4j.query.algebra.UnaryTupleOperator
    - - org.eclipse.rdf4j.query.algebra.Slice

- All Implemented Interfaces:
    `Serializable`, `Cloneable`, `GraphPatternGroupable`, `QueryModelNode`, `TupleExpr`, `VariableScopeChange`

      public class Slice
      extends UnaryTupleOperator

  The SLICE operator, as defined in SPARQL Query Language for RDF. The SLICE operator selects specific results from the underlying tuple expression based on an offset and limit value (both optional).
  Author:
    Arjohn Kampman
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.rdf4j.query.algebra.UnaryTupleOperator

      `arg`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Slice()` |
    `Slice​(TupleExpr arg)` |
    `Slice​(TupleExpr arg, long offset2, long limit2)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Slice` | `clone()` | Returns a (deep) clone of this query model node.
    `boolean` | `equals​(Object other)` | Returns true if this query model node and its children are recursively equal to o and its children.
    `long` | `getLimit()` |
    `long` | `getOffset()` |
    `String` | `getSignature()` | Default implementation of `QueryModelNode.getSignature()` that prints the name of the node's class.
    `int` | `hashCode()` |
    `boolean` | `hasLimit()` | Checks whether the row selection has a (valid) limit.
    `boolean` | `hasOffset()` | Checks whether the row selection has a (valid) offset.
    `void` | `setLimit​(long limit)` |
    `void` | `setOffset​(long offset)` |
    `<X extends Exception> void` | `visit​(QueryModelVisitor<X> visitor)` | Visits this node.

    - ### Methods inherited from class org.eclipse.rdf4j.query.algebra.UnaryTupleOperator

      `getArg, getAssuredBindingNames, getBindingNames, replaceChildNode, setArg, visitChildren`

    - ### Methods inherited from class org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode

      `getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getTotalTimeNanosActual, isGraphPatternGroup, isVariableScopeChange, nullEquals, replaceNodeInList, replaceWith, setCostEstimate, setGraphPatternGroup, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, toString`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.rdf4j.query.algebra.GraphPatternGroupable

      `isGraphPatternGroup, setGraphPatternGroup`

    - ### Methods inherited from interface org.eclipse.rdf4j.query.algebra.QueryModelNode

      `getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getTotalTimeNanosActual, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString`

- - ### Constructor Detail

    - #### Slice

          public Slice()

    - #### Slice

          public Slice​(TupleExpr arg)

    - #### Slice

          public Slice​(TupleExpr arg,
                       long offset2,
                       long limit2)

  - ### Method Detail

    - #### getOffset

          public long getOffset()

    - #### setOffset

          public void setOffset​(long offset)

    - #### hasOffset

          public boolean hasOffset()

      Checks whether the row selection has a (valid) offset.
      Returns:
        true when offset > 0

    - #### getLimit

          public long getLimit()

    - #### setLimit

          public void setLimit​(long limit)

    - #### hasLimit

          public boolean hasLimit()

      Checks whether the row selection has a (valid) limit.
      Returns:
        true when offset >= 0

    - #### visit

          public <X extends Exception> void visit​(QueryModelVisitor<X> visitor)
                                           throws X extends Exception

      Description copied from interface: `QueryModelNode`
      Visits this node. The node reports itself to the visitor with the proper runtime type.
      Throws:
        `X extends Exception`

    - #### getSignature

          public String getSignature()

      Description copied from class: `AbstractQueryModelNode`
      Default implementation of `QueryModelNode.getSignature()` that prints the name of the node's class.
      Specified by:
        `getSignature` in interface `QueryModelNode`
      Overrides:
        `getSignature` in class `AbstractQueryModelNode`
      Returns:
        The node's signature, e.g. SLICE (offset=10, limit=10).

    - #### equals

          public boolean equals​(Object other)

      Description copied from interface: `QueryModelNode`
      Returns true if this query model node and its children are recursively equal to o and its children.
      Specified by:
        `equals` in interface `QueryModelNode`
      Overrides:
        `equals` in class `UnaryTupleOperator`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `UnaryTupleOperator`

    - #### clone

          public Slice clone()

      Description copied from interface: `QueryModelNode`
      Returns a (deep) clone of this query model node. This method recursively clones the entire node tree, starting from this nodes.
      Specified by:
        `clone` in interface `QueryModelNode`
      Specified by:
        `clone` in interface `TupleExpr`
      Overrides:
        `clone` in class `UnaryTupleOperator`
      Returns:
        A deep clone of this query model node.