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>,SequencedCollection<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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceThis interface defines a bridge between the AssociativeFormula implementation like a concrete Disjunction and the AssociativeFormulaSupport object which adds the implementation of the common functionality. -
Constructor Summary
ConstructorsConstructorDescriptionCtor: Creates a AssociativeFormulaSupport object that uses the given bridgeCopy-Ctor creates a deep copy of the associative formula support. -
Method Summary
Modifier and TypeMethodDescriptionvoidbooleanbooleanAppends the specified elements to the end of this collection (optional operation).booleanaddAll(int index, Collection<? extends T> c) booleanaddAll(Collection<? extends T> c) voidclear()clone()Creates a deep copy of this formulabooleanbooleancontainsAll(Collection<?> c) copyHelper(Collection<T> collection) This method generates a deep copy of the given collection of RelationalFormulabooleanget(int index) getAtoms()Processes the set of all atoms which appear in this formula<C extends SimpleLogicalFormula>
Set<C> getFormulas(Class<C> cls) Process the formulas of type C that are children of this associative formulaProcesses the set of all predicates which appear in this formulaReturns the signature of the language of this formula.getTerms()Processes the set containing all terms of type C.inthashCode()intbooleanisEmpty()booleanChecks if this formula is well formed in the logical langauge.iterator()intlistIterator(int index) remove(int index) booleanbooleanremoveAll(Collection<?> c) booleanretainAll(Collection<?> c) intsize()subList(int fromIndex, int toIndex) substitute(Term<?> v, Term<?> t) Substitutes all occurrences of term "v" in this formula by term "t" and returns the new formula.Object[]toArray()<C> C[]toArray(C[] a) toString()Methods inherited from class org.tweetyproject.logics.commons.syntax.ComplexLogicalFormulaAdapter
containsTermsOfType, exchange, isGround, isLiteral, substituteMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface java.util.List
addFirst, addLast, getFirst, getLast, removeFirst, removeLast, replaceAll, reversed, sort, spliteratorMethods inherited from interface org.tweetyproject.logics.commons.syntax.interfaces.SimpleLogicalFormula
isLiteral
-
Constructor Details
-
AssociativeFormulaSupport
Ctor: Creates a AssociativeFormulaSupport object that uses the given bridge- Parameters:
bridge- an associative support bridge
-
AssociativeFormulaSupport
Copy-Ctor creates a deep copy of the associative formula support.- Parameters:
other- another associative formula suppport
-
-
Method Details
-
copyHelper
This method generates a deep copy of the given collection of RelationalFormula- Parameters:
collection- The collection of RelationalFormula to copy- Returns:
- A collection containing the deep copy of the given collection
-
getFormulas
- Specified by:
getFormulasin interfaceAssociativeFormula<T extends SimpleLogicalFormula>- Returns:
- all the formulas saved as childs in the associative formula
-
getFormulas
Description copied from interface:AssociativeFormulaProcess the formulas of type C that are children of this associative formula- Specified by:
getFormulasin interfaceAssociativeFormula<T extends SimpleLogicalFormula>- Type Parameters:
C- the type of formulas- Parameters:
cls- the class structure defining the type of formulas which are searched.- Returns:
- A set of formulas of type C which are members of the associative formula
-
getAtoms
Description copied from interface:SimpleLogicalFormulaProcesses the set of all atoms which appear in this formula- Specified by:
getAtomsin interfaceSimpleLogicalFormula- Returns:
- The set of all atoms
-
getPredicates
Description copied from interface:SimpleLogicalFormulaProcesses the set of all predicates which appear in this formula- Specified by:
getPredicatesin interfaceSimpleLogicalFormula- Returns:
- all predicates that appear in this formula
-
getSignature
Description copied from interface:FormulaReturns the signature of the language of this formula.- Specified by:
getSignaturein interfaceFormula- Returns:
- the signature of the language of this formula.
-
toString
-
equals
- Specified by:
equalsin interfaceCollection<T extends SimpleLogicalFormula>- Specified by:
equalsin interfaceList<T extends SimpleLogicalFormula>- Specified by:
equalsin interfaceSimpleLogicalFormula- Overrides:
equalsin classObject
-
hashCode
public int hashCode()- Specified by:
hashCodein interfaceCollection<T extends SimpleLogicalFormula>- Specified by:
hashCodein interfaceList<T extends SimpleLogicalFormula>- Specified by:
hashCodein interfaceSimpleLogicalFormula- Overrides:
hashCodein classObject
-
clone
Description copied from interface:SimpleLogicalFormulaCreates a deep copy of this formula- Specified by:
clonein interfaceComplexLogicalFormula- Specified by:
clonein interfaceSimpleLogicalFormula- Specified by:
clonein classComplexLogicalFormulaAdapter- Returns:
- the cloned formula
-
getTerms
- Specified by:
getTermsin interfaceLogicStructure- Returns:
- a set containing all terms of this logical structure
-
getTerms
Description copied from interface:LogicStructureProcesses the set containing all terms of type C. This method uses the equals method of the given Class and therefore does not add terms which are sub classes of type C to the set.- Specified by:
getTermsin interfaceLogicStructure- Overrides:
getTermsin classComplexLogicalFormulaAdapter- Type Parameters:
C- the type of terms- Parameters:
cls- The Class structure containing type information about the searched term- Returns:
- A set containing all terms of type C of this logical structure
-
substitute
Description copied from interface:ComplexLogicalFormulaSubstitutes all occurrences of term "v" in this formula by term "t" and returns the new formula.- Specified by:
substitutein interfaceComplexLogicalFormula- Parameters:
v- the term to be substituted.t- the term to substitute.- Returns:
- a formula where every occurrence of "v" is replaced by "t".
- Throws:
IllegalArgumentException- if "v" and "t" are of different sorts
-
isWellFormed
public boolean isWellFormed()Description copied from interface:ComplexLogicalFormulaChecks if this formula is well formed in the logical langauge. What well- formed means is highly language dependent and the documentation of implementing sub classes shall describe the well formed term for the language they model.- Specified by:
isWellFormedin interfaceComplexLogicalFormula- Overrides:
isWellFormedin classComplexLogicalFormulaAdapter- Returns:
- true if the formula is well-formed, false otherwise
-
add
- Specified by:
addin interfaceCollection<T extends SimpleLogicalFormula>- Specified by:
addin interfaceList<T extends SimpleLogicalFormula>
-
add
Appends the specified elements to the end of this collection (optional operation).- Parameters:
formulas- to be appended to collection- Returns:
- true if all elements were added, false otherwise
-
addAll
- Specified by:
addAllin interfaceCollection<T extends SimpleLogicalFormula>- Specified by:
addAllin interfaceList<T extends SimpleLogicalFormula>
-
clear
public void clear()- Specified by:
clearin interfaceCollection<T extends SimpleLogicalFormula>- Specified by:
clearin interfaceList<T extends SimpleLogicalFormula>
-
contains
- Specified by:
containsin interfaceCollection<T extends SimpleLogicalFormula>- Specified by:
containsin interfaceList<T extends SimpleLogicalFormula>
-
containsAll
- Specified by:
containsAllin interfaceCollection<T extends SimpleLogicalFormula>- Specified by:
containsAllin interfaceList<T extends SimpleLogicalFormula>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfaceCollection<T extends SimpleLogicalFormula>- Specified by:
isEmptyin interfaceList<T extends SimpleLogicalFormula>
-
iterator
- Specified by:
iteratorin interfaceCollection<T extends SimpleLogicalFormula>- Specified by:
iteratorin interfaceIterable<T extends SimpleLogicalFormula>- Specified by:
iteratorin interfaceList<T extends SimpleLogicalFormula>
-
remove
- Specified by:
removein interfaceCollection<T extends SimpleLogicalFormula>- Specified by:
removein interfaceList<T extends SimpleLogicalFormula>
-
removeAll
- Specified by:
removeAllin interfaceCollection<T extends SimpleLogicalFormula>- Specified by:
removeAllin interfaceList<T extends SimpleLogicalFormula>
-
retainAll
- Specified by:
retainAllin interfaceCollection<T extends SimpleLogicalFormula>- Specified by:
retainAllin interfaceList<T extends SimpleLogicalFormula>
-
size
public int size()- Specified by:
sizein interfaceCollection<T extends SimpleLogicalFormula>- Specified by:
sizein interfaceList<T extends SimpleLogicalFormula>
-
toArray
- Specified by:
toArrayin interfaceCollection<T extends SimpleLogicalFormula>- Specified by:
toArrayin interfaceList<T extends SimpleLogicalFormula>
-
toArray
public <C> C[] toArray(C[] a) - Specified by:
toArrayin interfaceCollection<T extends SimpleLogicalFormula>- Specified by:
toArrayin interfaceList<T extends SimpleLogicalFormula>
-
getPredicateCls
- Specified by:
getPredicateClsin interfaceSimpleLogicalFormula- Returns:
- The class description of the predicate used by this formula.
-
add
- Specified by:
addin interfaceList<T extends SimpleLogicalFormula>
-
addAll
- Specified by:
addAllin interfaceList<T extends SimpleLogicalFormula>
-
get
- Specified by:
getin interfaceList<T extends SimpleLogicalFormula>
-
indexOf
- Specified by:
indexOfin interfaceList<T extends SimpleLogicalFormula>
-
lastIndexOf
- Specified by:
lastIndexOfin interfaceList<T extends SimpleLogicalFormula>
-
listIterator
- Specified by:
listIteratorin interfaceList<T extends SimpleLogicalFormula>
-
listIterator
- Specified by:
listIteratorin interfaceList<T extends SimpleLogicalFormula>
-
remove
- Specified by:
removein interfaceList<T extends SimpleLogicalFormula>
-
set
-
subList
-