Package org.eclipse.rdf4j.query.explanation

## Class GenericPlanNode

- java.lang.Object
- - org.eclipse.rdf4j.query.explanation.GenericPlanNode

-     @Experimental
      public class GenericPlanNode
      extends Object

  This is an experimental feature. The interface may be changed, moved or potentially removed in a future release. The interface is used to implement query explanations (query plan)
  Since:
    3.2.0

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `UNKNOWN` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `GenericPlanNode()` |
    `GenericPlanNode​(String type)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addPlans​(GenericPlanNode... children)` |
    `String` | `getAlgorithm()` | Join nodes can use various algorithms for joining data.
    `Double` | `getCostEstimate()` | The cost estimate that the query planner calculated for this node.
    `String` | `getID()` |
    `List<GenericPlanNode>` | `getPlans()` |
    `Long` | `getResultSizeActual()` | The actual number of results that this node produced while the query was executed.
    `Double` | `getResultSizeEstimate()` | The number of results that this node was estimated to produce.
    `Double` | `getSelfTimeActual()` | The time that this node used by itself (eg.
    `Boolean` | `getTimedOut()` |
    `Double` | `getTotalTimeActual()` | The total time in milliseconds that this node-tree (all children and so on) used while the query was executed.
    `String` | `getType()` |
    `Boolean` | `isNewScope()` |
    `void` | `setAlgorithm​(String algorithm)` |
    `void` | `setCostEstimate​(Double costEstimate)` |
    `void` | `setNewScope​(boolean newScope)` |
    `void` | `setPlans​(List<GenericPlanNode> plans)` |
    `void` | `setResultSizeActual​(Long resultSizeActual)` |
    `void` | `setResultSizeEstimate​(Double resultSizeEstimate)` |
    `void` | `setTimedOut​(Boolean timedOut)` |
    `void` | `setTotalTimeActual​(Double totalTimeActual)` |
    `void` | `setType​(String type)` |
    `String` | `toDot()` |
    `String` | `toString()` | Human readable string.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### UNKNOWN

          public static final String UNKNOWN

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### GenericPlanNode

          public GenericPlanNode()

    - #### GenericPlanNode

          public GenericPlanNode​(String type)

  - ### Method Detail

    - #### getType

          public String getType()

    - #### setType

          public void setType​(String type)

    - #### getPlans

          public List<GenericPlanNode> getPlans()

    - #### setPlans

          public void setPlans​(List<GenericPlanNode> plans)

    - #### addPlans

          public void addPlans​(GenericPlanNode... children)

    - #### getCostEstimate

          public Double getCostEstimate()

      The cost estimate that the query planner calculated for this node. Value has no meaning outside of this explanation and is only used to compare and order the nodes in the query plan.
      Returns:
        a cost estimate as a double value

    - #### setCostEstimate

          public void setCostEstimate​(Double costEstimate)

    - #### getResultSizeEstimate

          public Double getResultSizeEstimate()

      The number of results that this node was estimated to produce.
      Returns:
        result size estimate

    - #### setResultSizeEstimate

          public void setResultSizeEstimate​(Double resultSizeEstimate)

    - #### getResultSizeActual

          public Long getResultSizeActual()

      The actual number of results that this node produced while the query was executed.
      Returns:
        number of results that this query produced

    - #### setResultSizeActual

          public void setResultSizeActual​(Long resultSizeActual)

    - #### getTotalTimeActual

          public Double getTotalTimeActual()

      The total time in milliseconds that this node-tree (all children and so on) used while the query was executed.
      Returns:
        time in milliseconds that was used to execute the query

    - #### setTotalTimeActual

          public void setTotalTimeActual​(Double totalTimeActual)

    - #### setTimedOut

          public void setTimedOut​(Boolean timedOut)

    - #### getTimedOut

          public Boolean getTimedOut()

    - #### getSelfTimeActual

          public Double getSelfTimeActual()

      The time that this node used by itself (eg. totalTimeActual - sum of plans[0..n].totalTimeActual)

    - #### isNewScope

          public Boolean isNewScope()

      Returns:
        true if this node introduces a new scope

    - #### setNewScope

          public void setNewScope​(boolean newScope)

    - #### getAlgorithm

          public String getAlgorithm()

      Join nodes can use various algorithms for joining data.
      Returns:
        the name of the algorithm.

    - #### setAlgorithm

          public void setAlgorithm​(String algorithm)

    - #### toString

          public String toString()

      Human readable string. Do not attempt to parse this.
      Overrides:
        `toString` in class `Object`
      Returns:
        an unparsable string

    - #### toDot

          public String toDot()

    - #### getID

          public String getID()