Class DisjunctionRPQ

java.lang.Object
dev.roanh.gmark.lang.rpq.DisjunctionRPQ
All Implemented Interfaces:
QueryFragment, QueryLanguageSyntax, RPQ, OutputFormal, OutputSQL, OutputXML

public class DisjunctionRPQ extends Object implements RPQ
RPQ modelling the disjunction between RPQs.
  • Field Details

    • rpq

      private final List<RPQ> rpq
      The RPQs of the disjunction.
  • Constructor Details

    • DisjunctionRPQ

      public DisjunctionRPQ(List<RPQ> rpq) throws IllegalArgumentException
      Constructs a new disjunction RPQ with the given RPQs as the components.
      Parameters:
      rpq - The RPQs for the disjunction.
      Throws:
      IllegalArgumentException - When less than two RPQs are provided.
  • Method Details

    • toFormalSyntax

      public String toFormalSyntax()
      Description copied from interface: OutputFormal
      Converts this object to its formal logic form.
      Specified by:
      toFormalSyntax in interface OutputFormal
      Returns:
      The formal representation of this object.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • writeSQL

      public void writeSQL(IndentWriter writer)
      Description copied from interface: OutputSQL
      Writes the SQL representation of this object to the given writer.
      Specified by:
      writeSQL in interface OutputSQL
      Parameters:
      writer - The writer to write to.
    • writeXML

      public void writeXML(IndentWriter writer)
      Description copied from interface: OutputXML
      Writes this object as XML to the given writer.
      Specified by:
      writeXML in interface OutputXML
      Parameters:
      writer - The writer to write to.
    • getOperationType

      public OperationType getOperationType()
      Description copied from interface: QueryFragment
      The top level operation represented by this query fragment.
      Specified by:
      getOperationType in interface QueryFragment
      Returns:
      The top level operation for this query fragment.
    • toAbstractSyntaxTree

      public QueryTree toAbstractSyntaxTree()
      Description copied from interface: QueryFragment
      Converts this query fragment to an equivalent abstract syntax tree.
      Specified by:
      toAbstractSyntaxTree in interface QueryFragment
      Returns:
      The constructed Abstract Syntax Tree (AST).