ix.icore.domain
Class Domain

java.lang.Object
  extended by ix.icore.AbstractAnnotatedObject
      extended by ix.icore.AbstractIXObject
          extended by ix.icore.domain.Domain
All Implemented Interfaces:
Annotated, Named, IXObject, java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
PlanAsDomain

public class Domain
extends AbstractIXObject
implements Named, java.lang.Cloneable

A Domain contains descriptions of ways to refine activities by expanding them into subactivities and adding constraints.

See Also:
Serialized Form

Field Summary
protected  java.util.Map classNameMap
           
protected  java.util.List listeners
           
protected  java.lang.String name
           
protected  ix.icore.domain.ListOfObjectClass objectClasses
           
protected  java.util.Map refinementNameMap
           
protected  ix.icore.domain.ListOfRefinement refinements
           
protected  ix.icore.domain.ListOfVariableDeclaration variableDeclarations
           
 
Fields inherited from class ix.icore.AbstractAnnotatedObject
annotationListeners, annotations
 
Constructor Summary
Domain()
           
 
Method Summary
 void addDomainListener(DomainListener listener)
           
 void addObjectClass(ObjectClass c)
           
 void addRefinement(Refinement r)
           
 void analyseDomain()
           
 void checkConsistency()
          Checks the consistency of this domain.
 void clear()
           
 java.lang.Object clone()
           
 void deleteNamedObjectClass(java.lang.String name)
           
 void deleteNamedRefinement(java.lang.String name)
           
 void deleteObjectClass(ObjectClass c)
           
 void deleteRefinement(Refinement r)
           
 void fireRefinementAdded(Refinement r)
           
 java.util.Set<LList> getActivityPatternSyntaxes(boolean includeSubnodes)
           
 java.lang.String getName()
           
 ObjectClass getNamedObjectClass(java.lang.String name)
           
 Refinement getNamedRefinement(java.lang.String name)
           
 ix.icore.domain.ListOfObjectClass getObjectClasses()
           
 ix.icore.domain.ListOfRefinement getRefinements()
           
 ix.icore.domain.ListOfVariableDeclaration getVariableDeclarations()
           
 boolean isEmpty()
           
 void replaceNamedRefinement(java.lang.String name, Refinement replacement)
           
 void replaceObjectClass(ObjectClass old, ObjectClass neu)
           
 void replaceRefinement(Refinement old, Refinement neu)
           
 void setName(java.lang.String name)
           
 void setObjectClasses(java.util.List classes)
           
 void setObjectClasses(ix.icore.domain.ListOfObjectClass classes)
           
 void setRefinements(java.util.List refinements)
           
 void setRefinements(ix.icore.domain.ListOfRefinement refinements)
           
 void setVariableDeclarations(ix.icore.domain.ListOfVariableDeclaration variableDeclarations)
           
 void takeFrom(Domain other)
          Merges another domain into this one.
 java.lang.String toString()
           
 
Methods inherited from class ix.icore.AbstractAnnotatedObject
addAnnotationListener, annMap, clearAnnotations, fireSetAnnotation, getAnnotation, getAnnotations, getComments, makeAnnMap, removeAnnotation, setAnnotation, setAnnotations, setComments, takeAnnotations
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ix.icore.Annotated
addAnnotationListener, clearAnnotations, fireSetAnnotation, getAnnotation, getAnnotations, removeAnnotation, setAnnotation, setAnnotations, takeAnnotations
 

Field Detail

name

protected java.lang.String name

variableDeclarations

protected ix.icore.domain.ListOfVariableDeclaration variableDeclarations

refinements

protected ix.icore.domain.ListOfRefinement refinements

objectClasses

protected ix.icore.domain.ListOfObjectClass objectClasses

listeners

protected java.util.List listeners

refinementNameMap

protected java.util.Map refinementNameMap

classNameMap

protected java.util.Map classNameMap
Constructor Detail

Domain

public Domain()
Method Detail

getName

public java.lang.String getName()
Specified by:
getName in interface Named

setName

public void setName(java.lang.String name)

isEmpty

public boolean isEmpty()

clear

public void clear()

getVariableDeclarations

public ix.icore.domain.ListOfVariableDeclaration getVariableDeclarations()

setVariableDeclarations

public void setVariableDeclarations(ix.icore.domain.ListOfVariableDeclaration variableDeclarations)

getRefinements

public ix.icore.domain.ListOfRefinement getRefinements()

setRefinements

public void setRefinements(ix.icore.domain.ListOfRefinement refinements)

setRefinements

public void setRefinements(java.util.List refinements)

getNamedRefinement

public Refinement getNamedRefinement(java.lang.String name)

addRefinement

public void addRefinement(Refinement r)

deleteNamedRefinement

public void deleteNamedRefinement(java.lang.String name)

deleteRefinement

public void deleteRefinement(Refinement r)

replaceNamedRefinement

public void replaceNamedRefinement(java.lang.String name,
                                   Refinement replacement)

replaceRefinement

public void replaceRefinement(Refinement old,
                              Refinement neu)

getActivityPatternSyntaxes

public java.util.Set<LList> getActivityPatternSyntaxes(boolean includeSubnodes)

getObjectClasses

public ix.icore.domain.ListOfObjectClass getObjectClasses()

setObjectClasses

public void setObjectClasses(ix.icore.domain.ListOfObjectClass classes)

setObjectClasses

public void setObjectClasses(java.util.List classes)

getNamedObjectClass

public ObjectClass getNamedObjectClass(java.lang.String name)

addObjectClass

public void addObjectClass(ObjectClass c)

deleteNamedObjectClass

public void deleteNamedObjectClass(java.lang.String name)

deleteObjectClass

public void deleteObjectClass(ObjectClass c)

replaceObjectClass

public void replaceObjectClass(ObjectClass old,
                               ObjectClass neu)

addDomainListener

public void addDomainListener(DomainListener listener)

fireRefinementAdded

public void fireRefinementAdded(Refinement r)

takeFrom

public void takeFrom(Domain other)
Merges another domain into this one.


analyseDomain

public void analyseDomain()

checkConsistency

public void checkConsistency()
Checks the consistency of this domain. This method calls the Refinement.checkConsistency() method of each refinement, catches and remembers any SyntaxExceptions that are thrown, and, if there were any exceptions, throws a combined SyntaxException that describes them all.

Throws:
SyntaxException - if there are unused or undeclared variables or if any constraint refers to a nonexistent node.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object