be.ac.vub.cocompose.operations
Class CopyElementLinks

java.lang.Object
  extended bybe.ac.vub.cocompose.lang.DefaultModelVisitor
      extended bybe.ac.vub.cocompose.lang.DefaultSuperModelVisitor
          extended bybe.ac.vub.cocompose.operations.CopyElementLinks
All Implemented Interfaces:
ModelVisitor

public class CopyElementLinks
extends DefaultSuperModelVisitor

Copies the non-containment links of a CoCompose element. Used as a second pass by CopyElement.

Since:
0.2.9
Version:
0.2.11, 17/05/2004
Author:
Dennis Wagelaar
See Also:
CopyElement

Field Summary
protected  Hashtable elementMap
          Mapping of original elements to their copies: Map<VisitedElement |-> VisitedElement>
 
Fields inherited from class be.ac.vub.cocompose.lang.DefaultModelVisitor
current
 
Constructor Summary
CopyElementLinks(Hashtable elementMap)
          Creates a CopyElementLinks.
 
Method Summary
 void setCopy(VisitedElement copy)
          Sets the generated copy.
 void visitConcept(Concept concept)
          Visits a concept.
 void visitElementConstraint(ElementConstraint elementConstraint)
          Visits an ElementConstraint.
 void visitModel(Model model)
          Visits a Model.
 void visitModelProperty(ModelProperty modelProperty)
          Visits a ModelProperty.
 void visitNamespace(Namespace namespace)
          Visits a Namespace.
 void visitRefinedElement(RefinedElement refinedElement)
          Visits a RefinedElement.
 void visitRelationship(Relationship relationship)
          Visits a Relationship.
 void visitRole(Role role)
          Visits a Role.
 void visitSolutionPattern(SolutionPattern solutionPattern)
          Visits a SolutionPattern.
 
Methods inherited from class be.ac.vub.cocompose.lang.DefaultSuperModelVisitor
visitAndConstraint, visitCompositeConstraint, visitConstraint, visitImplementationGenerator, visitImplementationPattern, visitImplementationRolePart, visitModelTransformation, visitMultiplicity, visitOrConstraint, visitProperty, visitRefinement, visitRelationElement, visitSimpleProperty
 
Methods inherited from class be.ac.vub.cocompose.lang.DefaultModelVisitor
getStacked, setStacked, visit, visitModelElement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

elementMap

protected Hashtable elementMap
Mapping of original elements to their copies:
Map<VisitedElement |-> VisitedElement>

Constructor Detail

CopyElementLinks

public CopyElementLinks(Hashtable elementMap)
Creates a CopyElementLinks.

Parameters:
elementMap - the map of original elements pointing to their copied equivalents. Result from the first copying pass.
Method Detail

visitNamespace

public void visitNamespace(Namespace namespace)
                    throws ModelElementException
Visits a Namespace.

Specified by:
visitNamespace in interface ModelVisitor
Overrides:
visitNamespace in class DefaultSuperModelVisitor
Parameters:
namespace - - the element to visit.
Throws:
ModelElementException

visitModel

public void visitModel(Model model)
                throws ModelElementException
Visits a Model.

Specified by:
visitModel in interface ModelVisitor
Overrides:
visitModel in class DefaultSuperModelVisitor
Parameters:
model - - the element to visit.
Throws:
ModelElementException

visitRelationship

public void visitRelationship(Relationship relationship)
                       throws ModelElementException
Visits a Relationship.

Specified by:
visitRelationship in interface ModelVisitor
Overrides:
visitRelationship in class DefaultSuperModelVisitor
Parameters:
relationship - - the element to visit.
Throws:
ModelElementException

visitRefinedElement

public void visitRefinedElement(RefinedElement refinedElement)
                         throws ModelElementException
Visits a RefinedElement.

Specified by:
visitRefinedElement in interface ModelVisitor
Overrides:
visitRefinedElement in class DefaultSuperModelVisitor
Parameters:
refinedElement - - the element to visit.
Throws:
ModelElementException

visitConcept

public void visitConcept(Concept concept)
                  throws ModelElementException
Visits a concept.

Specified by:
visitConcept in interface ModelVisitor
Overrides:
visitConcept in class DefaultSuperModelVisitor
Parameters:
concept - - the element to visit.
Throws:
ModelElementException

visitRole

public void visitRole(Role role)
               throws ModelElementException
Visits a Role.

Specified by:
visitRole in interface ModelVisitor
Overrides:
visitRole in class DefaultSuperModelVisitor
Parameters:
role - - the element to visit.
Throws:
ModelElementException

visitSolutionPattern

public void visitSolutionPattern(SolutionPattern solutionPattern)
                          throws ModelElementException
Visits a SolutionPattern.

Specified by:
visitSolutionPattern in interface ModelVisitor
Overrides:
visitSolutionPattern in class DefaultSuperModelVisitor
Parameters:
solutionPattern - - the element to visit.
Throws:
ModelElementException

visitElementConstraint

public void visitElementConstraint(ElementConstraint elementConstraint)
                            throws ModelElementException
Visits an ElementConstraint.

Specified by:
visitElementConstraint in interface ModelVisitor
Overrides:
visitElementConstraint in class DefaultSuperModelVisitor
Parameters:
elementConstraint - - the element to visit.
Throws:
ModelElementException

visitModelProperty

public void visitModelProperty(ModelProperty modelProperty)
                        throws ModelElementException
Visits a ModelProperty.

Specified by:
visitModelProperty in interface ModelVisitor
Overrides:
visitModelProperty in class DefaultSuperModelVisitor
Parameters:
modelProperty - - the element to visit.
Throws:
ModelElementException

setCopy

public void setCopy(VisitedElement copy)
Sets the generated copy.

Parameters:
copy - the generated copy.