Package com.complexible.common.rdf.query

# Class ImmutablePath

java.lang.Object
com.complexible.common.rdf.query.ImmutablePath

All Implemented Interfaces:
  `Path`

public class ImmutablePath extends Object implements Path
Immutable implementation of `Path`

Since:
  5.0.4
Version:
  6.0
Author:
  Evren Sirin

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ImmutablePath(List<Edge> theEdges)`
  `ImmutablePath(List<Edge> theEdges, BindingSet thePathStartBindings, BindingSet thePathEndBindings)`
  `ImmutablePath(List<Edge> theEdges, Value theWeight, BindingSet thePathStartBindings, BindingSet thePathEndBindings)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  `List<Edge>`
  `getEdges()`
  Returns the edges of the path.
  `Value`
  `getEnd()`
  Returns the end node of the path.
  `BindingSet`
  `getPathEndBindings()`
  Returns variable bindings for the end pattern of the path, if exists
  `BindingSet`
  `getPathStartBindings()`
  Returns variable bindings for the start pattern of the path, if exists
  `Value`
  `getStart()`
  Returns the start node of the path.
  `Value`
  `getWeight()`
  `int`
  `hashCode()`
  `String`
  `toString()`

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

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

- ## Constructor Details

  - ### ImmutablePath

    public ImmutablePath(List<Edge> theEdges)

  - ### ImmutablePath

    public ImmutablePath(List<Edge> theEdges, BindingSet thePathStartBindings, BindingSet thePathEndBindings)

  - ### ImmutablePath

    public ImmutablePath(List<Edge> theEdges, Value theWeight, BindingSet thePathStartBindings, BindingSet thePathEndBindings)

- ## Method Details

  - ### getPathStartBindings

    public BindingSet getPathStartBindings()
    Description copied from interface: `Path`
    Returns variable bindings for the start pattern of the path, if exists
    Specified by:
      `getPathStartBindings` in interface `Path`
    Returns:
      variable bindings for the start pattern of the path

  - ### getPathEndBindings

    public BindingSet getPathEndBindings()
    Description copied from interface: `Path`
    Returns variable bindings for the end pattern of the path, if exists
    Specified by:
      `getPathEndBindings` in interface `Path`
    Returns:
      variable bindings for the end pattern of the path

  - ### getStart

    public Value getStart()
    Description copied from interface: `Path`
    Returns the start node of the path. Equivalent to `getEdges().get(0).getStart()`.
    Specified by:
      `getStart` in interface `Path`
    Returns:
      the start node of the path

  - ### getEnd

    public Value getEnd()
    Description copied from interface: `Path`
    Returns the end node of the path. Equivalent to `getEdges().get(getEdge().size() - 1).getEnd()`.
    Specified by:
      `getEnd` in interface `Path`
    Returns:
      the end node of the path

  - ### getEdges

    public List<Edge> getEdges()
    Description copied from interface: `Path`
    Returns the edges of the path.
    Specified by:
      `getEdges` in interface `Path`
    Returns:
      the edges of the path

  - ### getWeight

    public Value getWeight()

  - ### equals

    public boolean equals(Object obj)
    Overrides:
      `equals` in class `Object`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`