Class Polyadic

All Implemented Interfaces:
Graph, GraphWithPerform
Direct Known Subclasses:
MultiUnion

public abstract class Polyadic extends CompositionBase

A base class for composition graphs that are composed from zero or more sub-graphs (thus providing a basis for polyadic composition operators). A distinguished graph is the designated graph for additions to the union. By default, this is the first sub-graph of the composition, however any of the graphs in the composition can be nominated to be the distinguished graph.

  • Constructor Details

    • Polyadic

      public Polyadic()

      Construct a composition of exactly no sub graphs.

    • Polyadic

      public Polyadic(Graph[] graphs)

      Construct a composition of all of the given graphs

      Parameters:
      graphs - An array of the sub-graphs of this composition
    • Polyadic

      public Polyadic(Iterator<Graph> graphs)

      Construct a composition of all of the given graphs.

      Parameters:
      graphs - An iterator of the sub-graphs of this composition. If graphs is a closable iterator, it will be automatically closed.
  • Method Details

    • close

      public void close()

      Close the graph by closing all of the sub-graphs.

      Specified by:
      close in interface Graph
      Overrides:
      close in class GraphBase
      See Also:
    • dependsOn

      public boolean dependsOn(Graph graph)

      Answer true if this graph contains the given graph as a sub-component.

      Specified by:
      dependsOn in interface Graph
      Overrides:
      dependsOn in class GraphBase
      Parameters:
      graph - A graph to test
      Returns:
      True if the graph is this graph, or is a sub-graph of this one.
      See Also:
    • addGraph

      public void addGraph(Graph graph)

      Add the given graph to this composition.

      Parameters:
      graph - A sub-graph to add to this composition
    • removeGraph

      public void removeGraph(Graph graph)

      Remove the given graph from this composition. If the removed graph is the designated updateable graph, the updatable graph goes back to the default for this composition.

      Parameters:
      graph - A sub-graph to remove from this composition
    • getBaseGraph

      public Graph getBaseGraph()

      Answer the distinguished graph for the composition, which will be the graph that receives triple adds and deletes. If no base graph is defined, return null.

      Returns:
      The distinguished updateable graph, or null if there are no graphs in this composition
    • getRequiredBaseGraph

      public Graph getRequiredBaseGraph()

      Answer the distinguished graph for the composition, which will be the graph that receives triple adds and deletes. If no base graph is defined, throw a JenaException.

      Returns:
      The distinguished updateable graph, or null if there are no graphs in this composition
    • setBaseGraph

      public void setBaseGraph(Graph graph)

      Set the designated updateable graph for this composition.

      Parameters:
      graph - One of the graphs currently in this composition to be the designated graph to receive udpates
      Throws:
      IllegalArgumentException - if graph is not one of the members of the composition
    • getSubGraphs

      public List<Graph> getSubGraphs()

      Answer a list of the graphs other than the updateable (base) graph

      Returns:
      A list of all of the sub-graphs, excluding the base graph.
    • getTransactionHandler

      public TransactionHandler getTransactionHandler()
      Description copied from class: GraphBase
      Answer a transaction handler bound to this graph. The default is SimpleTransactionHandler, which handles no transactions.
      Specified by:
      getTransactionHandler in interface Graph
      Overrides:
      getTransactionHandler in class GraphBase
    • getCapabilities

      public Capabilities getCapabilities()
      Description copied from interface: Graph
      returns this Graph's capabilities
      Specified by:
      getCapabilities in interface Graph
      Overrides:
      getCapabilities in class GraphBase