java.lang.Object
edu.upc.fib.inlab.imp.kse.logics.logicschema.services.creation.spec.LogicSchemaSpec<T>
Type Parameters:
T - kind of LogicConstraintSpec this LogicSchemaSpec will work with
All Implemented Interfaces:
LogicElementSpec

public class LogicSchemaSpec<T extends LogicConstraintSpec> extends Object implements LogicElementSpec

Specification of a whole logic schema, that is, a specification of a set of predicates, logic constraints, and derivation rules.

A LogicSchemaSpec can only deal with logic constraints including an id, or logic constraints not including an id, but not both at the same time. Hence, when instantiating a LogicSchemaSpec, we must declare which type of LogicConstraintSpec we are going to use.

  • Constructor Details

    • LogicSchemaSpec

      public LogicSchemaSpec()
  • Method Details

    • addPredicateSpecs

      public void addPredicateSpecs(PredicateSpec... predicateSpecs)
    • addPredicateSpecs

      public void addPredicateSpecs(List<PredicateSpec> predicateSpecs)
    • addDerivationRuleSpecs

      public void addDerivationRuleSpecs(DerivationRuleSpec... derivationRuleSpecs)
    • addDerivationRuleSpecs

      public void addDerivationRuleSpecs(List<DerivationRuleSpec> derivationRuleSpecs)
    • addLogicConstraintSpecs

      @SafeVarargs public final void addLogicConstraintSpecs(T... logicConstraintSpecs)
    • addLogicConstraintSpecs

      public final void addLogicConstraintSpecs(List<T> logicConstraintSpecs)
    • getPredicateSpecList

      public List<PredicateSpec> getPredicateSpecList()
    • getDerivationRuleSpecList

      public List<DerivationRuleSpec> getDerivationRuleSpecList()
    • getLogicConstraintSpecList

      public List<T> getLogicConstraintSpecList()