Class WorkloadCPQ

java.lang.Object
dev.roanh.gmark.core.Workload
dev.roanh.gmark.query.conjunct.cpq.WorkloadCPQ
All Implemented Interfaces:
IDable

public class WorkloadCPQ extends Workload
Describes a workload of CPQ queries to generate.
See Also:
  • Field Details

    • maxDiameter

      private int maxDiameter
      The maximum diameter of the CPQs to generate.
    • maxRecursion

      private int maxRecursion
      The maximum recursive depth of the CPQs to generate.
  • Constructor Details

    • WorkloadCPQ

      public WorkloadCPQ(Element elem, Schema schema)
      Constructs a new CPQ workload from the given configuration element and graph schema.
      Parameters:
      elem - The configuration element to parse.
      schema - The graph schema to use.
  • Method Details

    • setMaxDiameter

      public void setMaxDiameter(int diameter)
      Sets the maximum diameter of the CPQs to generate.
      Parameters:
      diameter - The new maximum diameter.
    • setMaxRecursion

      public void setMaxRecursion(int recursion)
      Sets the maximum recursive depth of the CPQs to generate.
      Parameters:
      recursion - The new maximum recursive depth.
    • getMaxDiameter

      public int getMaxDiameter()
      Gets the maximum diameter of the CPQs to generate.
      Returns:
      The maximum diameter.
    • getMaxRecursion

      public int getMaxRecursion()
      Gets the maximum recursive depth of the CPQs to generate.
      Returns:
      The maximum recursive depth.
    • validate

      public void validate() throws IllegalStateException
      Description copied from class: Workload
      Validates this workload by checking that all of the arguments are valid and usable for query generation. Subclasses should override this method to validate their own arguments.
      Overrides:
      validate in class Workload
      Throws:
      IllegalStateException - When it is determined that the workload is not valid.
    • getType

      public WorkloadType getType()
      Description copied from class: Workload
      Gets the type of this workload.
      Specified by:
      getType in class Workload
      Returns:
      The type of this workload.
    • getMaxSelectivityGraphLength

      public int getMaxSelectivityGraphLength()
      Description copied from class: Workload
      Gets the maximum length of paths needed in the selectivity graph to generate queries in accordance with this workload.
      Specified by:
      getMaxSelectivityGraphLength in class Workload
      Returns:
      The maximum required selectivity graph path length.
    • getConjunctGenerator

      public ConjunctGenerator getConjunctGenerator()
      Description copied from class: Workload
      Gets a generator for generating conjuncts according to this workload configuration.
      Specified by:
      getConjunctGenerator in class Workload
      Returns:
      A worklaod conjunct generator.