Class AssociativeFormulaSupport<T extends SimpleLogicalFormula>

java.lang.Object
org.tweetyproject.logics.commons.syntax.ComplexLogicalFormulaAdapter
org.tweetyproject.logics.commons.syntax.AssociativeFormulaSupport<T>
Type Parameters:
T - The type of the formulas which are saved by the associative formula support.
All Implemented Interfaces:
Iterable<T>, Collection<T>, List<T>, Formula, AssociativeFormula<T>, ComplexLogicalFormula, LogicStructure, SimpleLogicalFormula

public class AssociativeFormulaSupport<T extends SimpleLogicalFormula> extends ComplexLogicalFormulaAdapter implements AssociativeFormula<T>
This class provides common implementation for associative formulas that are formulas which consists of several other formulas. It implements common methods like getTerms(), getFormulas() or getAtoms(). Although SimpleLogicalFormula can be used as content for an associative Formula this support class also implements the functionality for ComplexLogicalFormula and assumes that methods of ComplexLogicalFormula like substitute() are not called by the parent of the AssociativeFormulaSupport, otherwise a ClassCastException will occur.
Author:
Tim Janus