|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.argouml.cognitive.critics.Critic | +--org.argouml.uml.cognitive.critics.CrUML | +--org.argouml.uml.cognitive.critics.CrMultipleAgg
A critic to check that only one end of a binary association is an aggregation.
This is the second well-formedness rule for associations in the UML 1.3 standard (see section 2.5.3 of the standard).
Note. This only applies to binary associations. There is a
separate critic (see CrNWayAgg
)
which deals with 3- or more-way assocations.
Field Summary |
---|
Fields inherited from class org.argouml.uml.cognitive.critics.CrUML |
---|
cat, decBEHAVIOR, decCLASS_SELECTION, decCODE_GEN, decCONTAINMENT, decEXPECTED_USAGE, decINHERITANCE, decINSTANCIATION, decMETHODS, decMODULARITY, decNAMING, decPATTERNS, decPLANNED_EXTENSIONS, decRELATIONSHIPS, decSTATE_MACHINES, decSTEREOTYPES, decSTORAGE |
Fields inherited from class org.argouml.cognitive.critics.Critic |
---|
_clarifier, _knowledgeTypes, _numCriticsFired, _supportedDecisions, _supportedGoals, _triggerMask, DEFAULT_CLARIFIER, ENABLED, KT_COMPLETENESS, KT_CONSISTENCY, KT_CORRECTNESS, KT_DESIGNERS, KT_EXPERIENCIAL, KT_OPTIMIZATION, KT_ORGANIZATIONAL, KT_PRESENTATION, KT_SEMANTICS, KT_SYNTAX, KT_TOOL, NO_PROBLEM, PROBLEM_FOUND, SNOOZE_ORDER |
Constructor Summary | |
---|---|
CrMultipleAgg()
Constructor for the critic. |
Method Summary | |
---|---|
java.lang.Class |
getWizardClass(ToDoItem item)
Find the class which will handle the wizard behaviour. |
boolean |
predicate2(java.lang.Object dm,
Designer dsgr)
The trigger for the critic. |
Methods inherited from class org.argouml.uml.cognitive.critics.CrUML |
---|
expand, predicate, setHeadline, setResource, toDoItem |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public CrMultipleAgg()
Constructor for the critic.
Sets up the resource name, which will allow headline and description to found for the current locale. Provides a design issue category (CONTAINMENT), a knowledge type (SEMANTICS) and add triggers for "end_aggregation".
Method Detail |
public boolean predicate2(java.lang.Object dm, Designer dsgr)
The trigger for the critic.
Check that the number of ends is two, otherwise this should be
handled by the critic for N-way assocations (see CrNWayAgg
).
We do not handle association roles, which are a subclass of association. An association role should be fine, if its parent is OK, since it must be more tightly constrained than its parent.
Note. ArgoUML does not currently have a constructor to check that an association role is more tightly constrained than its parent.
Then loop through the ends, counting the number of aggregate ends. Note that we look for aggregation explicitly, rather than just absence of "no aggregation", so we don't trigger if the aggregation is just undefined.
predicate2
in class CrUML
dm
- the Object
to be checked against
the critic.dsgr
- the Designer
creating the model. Not used, this is for future
development of ArgoUML.
PROBLEM_FOUND
if the critic is
triggered, otherwise NO_PROBLEM
.public java.lang.Class getWizardClass(ToDoItem item)
Find the class which will handle the wizard behaviour.
getWizardClass
in class Critic
item
- the ToDoItem
that triggered the critic.
Class
of the wizard.
|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ArgoUML © 1996-2004 (20040306) | ArgoUML Homepage | ArgoUML Developers' page | ArgoUML Cookbook |