org.argouml.model
Class AbstractCollaborationsHelperDecorator

java.lang.Object
  extended byorg.argouml.model.AbstractCollaborationsHelperDecorator
All Implemented Interfaces:
CollaborationsHelper
Direct Known Subclasses:
UndoCollaborationsHelperDecorator

public abstract class AbstractCollaborationsHelperDecorator
extends Object
implements CollaborationsHelper

An abstract Decorator for the CollaborationsHelper.


Method Summary
 void addBase(Object arole, Object abase)
          Adds a base to the given classifierrole.
 void addConstrainingElement(Object handle, Object constraint)
          Add a constraining element.
 void addInstance(Object classifierRole, Object instance)
          Adds an instance to a classifier role.
 void addMessage(Object handle, Object elem)
          Add a message to an interaction or association role.
 void addMessage3(Object handle, Object mess)
          Add Message to a predecessor Message.
 void addPredecessor(Object handle, Object predecessor)
          Adds a predecessor to a message.
 Collection allAvailableContents(Object arole)
          Returns all available contents for a given classifierrole as defined in section 2.10.3.3 of the UML 1.3 spec.
 Collection allAvailableFeatures(Object arole)
          Returns all available features for a given classifierrole as defined in section 2.10.3.3 of the UML 1.3 spec.
 Collection getAllClassifierRoles(Object ns)
          Returns all classifierroles found in this namespace and in its children.
 Collection getAllPossibleActivators(Object ames)
          Returns all possible activators for some message mes.
 Collection getAllPossibleAssociationRoles(Object role)
          Returns all associations the bases of the classifierrole has, thereby forming the set of associationroles the classifierrole can use.
 Collection getAllPossibleBases(Object role)
          Returns all possible bases for the given element.
 Collection getAllPossiblePredecessors(Object amessage)
          Returns all possible predecessors for some message, taking into account the wellformednessrules as defined in section 2.10 of the UML spec.
 Object getAssocationRole(Object afrom, Object ato)
           
 Object getAssociationRole(Object afrom, Object ato)
          Returns the first found associationrole between two classifierroles.
 Collection getClassifierRoles(Object role)
          Returns all classifierroles associated via associationroles to some classifierrole role.
protected  CollaborationsHelper getComponent()
          The component we are decorating.
 boolean hasAsActivator(Object message, Object activator)
          Returns true if the given message has the message activator somewhere as it's activator.
 boolean isAddingCollaborationAllowed(Object context)
          Returns true if a collaboration may be added to the given context.
 void removeBase(Object handle, Object c)
          This method removes a classifier from a classifier role.
 void removeConstrainingElement(Object handle, Object constraint)
          Remove a constraining element.
 void removeInteraction(Object collab, Object interaction)
          Additionnal support for interactions.
 void removeMessage(Object handle, Object message)
          Removes a message from the interaction or association role.
 void removeMessage3(Object handle, Object mess)
          Removes a successor message.
 void removePredecessor(Object handle, Object message)
          Removes a predecessor message.
 void setAction(Object handle, Object action)
          Sets the action to a message.
 void setActivator(Object ames, Object anactivator)
          Sets the activator of some given message mes.
 void setBase(Object arole, Object abase)
          Sets the base checking for wellformedness according to 2.10.3 in the UML 1.3 specification.
 void setBases(Object role, Collection bases)
          Sets the bases of the given classifierrole to the given collection bases.
 void setContext(Object handle, Object col)
          Set the context of an interaction.
 void setMessages3(Object handle, Collection messages)
          Set the successors of a message (named messsage3 in UML 1.3 & successor in UML 1.4).
 void setPredecessors(Object handle, Collection predecessors)
          Set the collection of predecessing messages.
 void setRepresentedClassifier(Object handle, Object classifier)
          Sets the represented classifier of some collaboration.
 void setRepresentedOperation(Object handle, Object operation)
          Sets the represented operation of some collaboration.
 void setSender(Object handle, Object sender)
          Sets the sender of some model element.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getComponent

protected CollaborationsHelper getComponent()
The component we are decorating.

Returns:
Returns the component.

getAllClassifierRoles

public Collection getAllClassifierRoles(Object ns)
Description copied from interface: CollaborationsHelper
Returns all classifierroles found in this namespace and in its children.

Specified by:
getAllClassifierRoles in interface CollaborationsHelper
Parameters:
ns - the namespace
Returns:
Collection collection of all classifierroles
See Also:
CollaborationsHelper.getAllClassifierRoles( java.lang.Object)

getAllPossibleAssociationRoles

public Collection getAllPossibleAssociationRoles(Object role)
Description copied from interface: CollaborationsHelper
Returns all associations the bases of the classifierrole has, thereby forming the set of associationroles the classifierrole can use. UML Spec 1.3 section 2.10.3.3.

Specified by:
getAllPossibleAssociationRoles in interface CollaborationsHelper
Parameters:
role - the classifierrole
Returns:
Collection the set of associationroles the classifierrole can use
See Also:
CollaborationsHelper.getAllPossibleAssociationRoles( java.lang.Object)

getClassifierRoles

public Collection getClassifierRoles(Object role)
Description copied from interface: CollaborationsHelper
Returns all classifierroles associated via associationroles to some classifierrole role.

Specified by:
getClassifierRoles in interface CollaborationsHelper
Parameters:
role - the classifierrole
Returns:
Collection all classifierroles associated via associationroles to the given classifierrole role
See Also:
CollaborationsHelper.getClassifierRoles( java.lang.Object)

getAssocationRole

public Object getAssocationRole(Object afrom,
                                Object ato)
Specified by:
getAssocationRole in interface CollaborationsHelper
Parameters:
afrom - the first classifierrole
ato - the second classifierrole
Returns:
associationrole
See Also:
CollaborationsHelper.getAssocationRole( java.lang.Object, java.lang.Object)

getAssociationRole

public Object getAssociationRole(Object afrom,
                                 Object ato)
Description copied from interface: CollaborationsHelper
Returns the first found associationrole between two classifierroles.

Specified by:
getAssociationRole in interface CollaborationsHelper
Parameters:
afrom - the first classifierrole
ato - the second classifierrole
Returns:
MAssociationRole the association between them, or null if none
See Also:
CollaborationsHelper.getAssociationRole( java.lang.Object, java.lang.Object)

getAllPossibleActivators

public Collection getAllPossibleActivators(Object ames)
Description copied from interface: CollaborationsHelper
Returns all possible activators for some message mes. The possible activators are all messages in the same interaction as the given message that are not part of the predecessors of the message and that are not equal to the given message.

Specified by:
getAllPossibleActivators in interface CollaborationsHelper
Parameters:
ames - the message
Returns:
Collection all possible activators for the given message
See Also:
CollaborationsHelper.getAllPossibleActivators( java.lang.Object)

hasAsActivator

public boolean hasAsActivator(Object message,
                              Object activator)
Description copied from interface: CollaborationsHelper
Returns true if the given message has the message activator somewhere as it's activator. This is defined as that the message activator can be the activator itself of the given message OR that the given activator can be the activator of the activator of the given message (recursive) OR that the given activator is part of the predecessors of the activator of the given message (recursive too).

Specified by:
hasAsActivator in interface CollaborationsHelper
Parameters:
message - the given message
activator - the given activator (a message).
Returns:
boolean true if the given message has the message activator somewhere as it's activator
See Also:
CollaborationsHelper.hasAsActivator( java.lang.Object, java.lang.Object)

setActivator

public void setActivator(Object ames,
                         Object anactivator)
Description copied from interface: CollaborationsHelper
Sets the activator of some given message mes. Checks the wellformednessrules as defined in the UML 1.3 spec in section 2.10.3.6, will throw an IllegalArgumentException if the wellformednessrules are not met. Not only sets the activator for the given message mes but also for the predecessors of mes. This is done since it can not be the case that a list of messages (defined by the predecessor) has a different activator.

Specified by:
setActivator in interface CollaborationsHelper
Parameters:
ames - the given message
anactivator - the given activator or null.
See Also:
CollaborationsHelper.setActivator( java.lang.Object, java.lang.Object)

getAllPossiblePredecessors

public Collection getAllPossiblePredecessors(Object amessage)
Description copied from interface: CollaborationsHelper
Returns all possible predecessors for some message, taking into account the wellformednessrules as defined in section 2.10 of the UML spec.

Specified by:
getAllPossiblePredecessors in interface CollaborationsHelper
Parameters:
amessage - the given message
Returns:
Collection all possible predecessors
See Also:
CollaborationsHelper.getAllPossiblePredecessors( java.lang.Object)

addBase

public void addBase(Object arole,
                    Object abase)
Description copied from interface: CollaborationsHelper
Adds a base to the given classifierrole. If the classifierrole does not have a name yet and there is only one base, the name of the classifierrole is set to the name of the given base according to the wellformednessrules of section 2.10.3 of the UML 1.3 spec.

Specified by:
addBase in interface CollaborationsHelper
Parameters:
arole - the given classifierrole
abase - the base to be added
See Also:
CollaborationsHelper.addBase( java.lang.Object, java.lang.Object)

setBases

public void setBases(Object role,
                     Collection bases)
Description copied from interface: CollaborationsHelper
Sets the bases of the given classifierrole to the given collection bases.

Specified by:
setBases in interface CollaborationsHelper
Parameters:
role - the given classifierrole
bases - the given collection of bases
See Also:
CollaborationsHelper.setBases( java.lang.Object, java.util.Collection)

allAvailableFeatures

public Collection allAvailableFeatures(Object arole)
Description copied from interface: CollaborationsHelper
Returns all available features for a given classifierrole as defined in section 2.10.3.3 of the UML 1.3 spec. Does not use the standard getAvailableFeatures method on ClassifierRole since this is derived information.

Specified by:
allAvailableFeatures in interface CollaborationsHelper
Parameters:
arole - the given classifierrole
Returns:
Collection all available features
See Also:
CollaborationsHelper.allAvailableFeatures( java.lang.Object)

allAvailableContents

public Collection allAvailableContents(Object arole)
Description copied from interface: CollaborationsHelper
Returns all available contents for a given classifierrole as defined in section 2.10.3.3 of the UML 1.3 spec. Does not use the standard getAvailableContents method on ClassifierRole since this is derived information.

Specified by:
allAvailableContents in interface CollaborationsHelper
Parameters:
arole - the given classifierrole
Returns:
Collection all available contents
See Also:
CollaborationsHelper.allAvailableContents( java.lang.Object)

getAllPossibleBases

public Collection getAllPossibleBases(Object role)
Description copied from interface: CollaborationsHelper
Returns all possible bases for the given element.

TODO: Beware: this function does not return the actual base! Is that by design or a bug?

Specified by:
getAllPossibleBases in interface CollaborationsHelper
Parameters:
role - the given classifierrole or associationrole
Returns:
all available bases
See Also:
CollaborationsHelper.getAllPossibleBases( java.lang.Object)

setBase

public void setBase(Object arole,
                    Object abase)
Description copied from interface: CollaborationsHelper
Sets the base checking for wellformedness according to 2.10.3 in the UML 1.3 specification.

Either the role can be an AssociationRole in which case the given base must be an Association. Or the role can be an AssocationEndRole in which case the given base must be an AssociationEnd.

To set the base(s) of a ClassifierRole use CollaborationsHelper.setBases(Object, Collection).

Specified by:
setBase in interface CollaborationsHelper
Parameters:
arole - The given role.
abase - The base to set (or null to clear).
See Also:
CollaborationsHelper.setBase( java.lang.Object, java.lang.Object)

isAddingCollaborationAllowed

public boolean isAddingCollaborationAllowed(Object context)
Description copied from interface: CollaborationsHelper
Returns true if a collaboration may be added to the given context. To decouple ArgoUML as much as possible from the model implementation, the parameter of the method is of type Object.

Specified by:
isAddingCollaborationAllowed in interface CollaborationsHelper
Parameters:
context - the given context
Returns:
boolean true if a collaboration may be added
See Also:
CollaborationsHelper.isAddingCollaborationAllowed( java.lang.Object)

removeBase

public void removeBase(Object handle,
                       Object c)
Description copied from interface: CollaborationsHelper
This method removes a classifier from a classifier role.

Specified by:
removeBase in interface CollaborationsHelper
Parameters:
handle - is the classifier role
c - is the classifier
See Also:
CollaborationsHelper.removeBase( java.lang.Object, java.lang.Object)

removeConstrainingElement

public void removeConstrainingElement(Object handle,
                                      Object constraint)
Description copied from interface: CollaborationsHelper
Remove a constraining element.

Specified by:
removeConstrainingElement in interface CollaborationsHelper
Parameters:
handle - The collaboration to remove a constraint to.
constraint - The constraint to remove.
See Also:
CollaborationsHelper.removeConstrainingElement( java.lang.Object, java.lang.Object)

removeMessage

public void removeMessage(Object handle,
                          Object message)
Description copied from interface: CollaborationsHelper
Removes a message from the interaction or association role.

Specified by:
removeMessage in interface CollaborationsHelper
Parameters:
handle - The interaction or association role to remove the message from.
message - The message to remove.
See Also:
CollaborationsHelper.removeMessage( java.lang.Object, java.lang.Object)

removeMessage3

public void removeMessage3(Object handle,
                           Object mess)
Description copied from interface: CollaborationsHelper
Removes a successor message.

Specified by:
removeMessage3 in interface CollaborationsHelper
Parameters:
handle - the Message that needs to loose a successor
mess - the Message that is removed
See Also:
CollaborationsHelper.removeMessage3( java.lang.Object, java.lang.Object)

removePredecessor

public void removePredecessor(Object handle,
                              Object message)
Description copied from interface: CollaborationsHelper
Removes a predecessor message.

Specified by:
removePredecessor in interface CollaborationsHelper
Parameters:
handle - the Message that needs to loose a predecessor
message - the Message that is removed
See Also:
CollaborationsHelper.removePredecessor( java.lang.Object, java.lang.Object)

addConstrainingElement

public void addConstrainingElement(Object handle,
                                   Object constraint)
Description copied from interface: CollaborationsHelper
Add a constraining element.

Specified by:
addConstrainingElement in interface CollaborationsHelper
Parameters:
handle - The collaboration to add a constraint to.
constraint - The constraint to add.
See Also:
CollaborationsHelper.addConstrainingElement( java.lang.Object, java.lang.Object)

addInstance

public void addInstance(Object classifierRole,
                        Object instance)
Description copied from interface: CollaborationsHelper
Adds an instance to a classifier role.

Specified by:
addInstance in interface CollaborationsHelper
Parameters:
classifierRole - is the classifier role
instance - is the instance to add
See Also:
CollaborationsHelper.addInstance( java.lang.Object, java.lang.Object)

addMessage

public void addMessage(Object handle,
                       Object elem)
Description copied from interface: CollaborationsHelper
Add a message to an interaction or association role.

Specified by:
addMessage in interface CollaborationsHelper
Parameters:
handle - The interaction or association role.
elem - The message.
See Also:
CollaborationsHelper.addMessage( java.lang.Object, java.lang.Object)

addMessage3

public void addMessage3(Object handle,
                        Object mess)
Description copied from interface: CollaborationsHelper
Add Message to a predecessor Message.

Specified by:
addMessage3 in interface CollaborationsHelper
Parameters:
handle - predecessor Message
mess - Message to be added
See Also:
CollaborationsHelper.addMessage3( java.lang.Object, java.lang.Object)

addPredecessor

public void addPredecessor(Object handle,
                           Object predecessor)
Description copied from interface: CollaborationsHelper
Adds a predecessor to a message.

Specified by:
addPredecessor in interface CollaborationsHelper
Parameters:
handle - the message
predecessor - is the predecessor
See Also:
CollaborationsHelper.addPredecessor( java.lang.Object, java.lang.Object)

setAction

public void setAction(Object handle,
                      Object action)
Description copied from interface: CollaborationsHelper
Sets the action to a message.

Specified by:
setAction in interface CollaborationsHelper
Parameters:
handle - is the message
action - is the action
See Also:
CollaborationsHelper.setAction( java.lang.Object, java.lang.Object)

setContext

public void setContext(Object handle,
                       Object col)
Description copied from interface: CollaborationsHelper
Set the context of an interaction.

Specified by:
setContext in interface CollaborationsHelper
Parameters:
handle - The element.
col - The context to set.
See Also:
CollaborationsHelper.setContext( java.lang.Object, java.lang.Object)

setMessages3

public void setMessages3(Object handle,
                         Collection messages)
Description copied from interface: CollaborationsHelper
Set the successors of a message (named messsage3 in UML 1.3 & successor in UML 1.4).

Specified by:
setMessages3 in interface CollaborationsHelper
Parameters:
handle - Message
messages - Collection of successor messages
See Also:
CollaborationsHelper.setMessages3( java.lang.Object, java.util.Collection)

setPredecessors

public void setPredecessors(Object handle,
                            Collection predecessors)
Description copied from interface: CollaborationsHelper
Set the collection of predecessing messages.

Specified by:
setPredecessors in interface CollaborationsHelper
Parameters:
handle - Message
predecessors - Collection of Messages
See Also:
CollaborationsHelper.setPredecessors( java.lang.Object, java.util.Collection)

setRepresentedClassifier

public void setRepresentedClassifier(Object handle,
                                     Object classifier)
Description copied from interface: CollaborationsHelper
Sets the represented classifier of some collaboration.

Specified by:
setRepresentedClassifier in interface CollaborationsHelper
Parameters:
handle - the collaboration
classifier - is the classifier or null
See Also:
CollaborationsHelper.setRepresentedClassifier( java.lang.Object, java.lang.Object)

setRepresentedOperation

public void setRepresentedOperation(Object handle,
                                    Object operation)
Description copied from interface: CollaborationsHelper
Sets the represented operation of some collaboration.

Specified by:
setRepresentedOperation in interface CollaborationsHelper
Parameters:
handle - the collaboration
operation - is the operation or null
See Also:
CollaborationsHelper.setRepresentedOperation( java.lang.Object, java.lang.Object)

setSender

public void setSender(Object handle,
                      Object sender)
Description copied from interface: CollaborationsHelper
Sets the sender of some model element.

Specified by:
setSender in interface CollaborationsHelper
Parameters:
handle - model element
sender - the sender
See Also:
CollaborationsHelper.setSender( java.lang.Object, java.lang.Object)

removeInteraction

public void removeInteraction(Object collab,
                              Object interaction)
Description copied from interface: CollaborationsHelper
Additionnal support for interactions.

Specified by:
removeInteraction in interface CollaborationsHelper
Parameters:
collab - The collaboration.
interaction - The interaction.
See Also:
CollaborationsHelper.removeInteraction( java.lang.Object, java.lang.Object)


ArgoUML © 1996-2006ArgoUML HomepageArgoUML Developers' pageArgoUML Cookbook