|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.argouml.cognitive.critics.Critic
org.argouml.uml.cognitive.critics.CrUML
org.argouml.pattern.cognitive.critics.CrConsiderSingleton
A critic to detect when a class can never have more than one instance (of itself of any subclasses), and thus whether it is suitable for declaration as a Singleton (with stereotype «Singleton».
Field Summary |
Fields inherited from class org.argouml.uml.cognitive.critics.CrUML |
DEC_BEHAVIOR, DEC_CLASS_SELECTION, DEC_CODE_GEN, DEC_CONTAINMENT, DEC_EXPECTED_USAGE, DEC_INHERITANCE, DEC_INSTANCIATION, DEC_METHODS, DEC_MODULARITY, DEC_NAMING, DEC_PATTERNS, DEC_PLANNED_EXTENSIONS, DEC_RELATIONSHIPS, DEC_STATE_MACHINES, DEC_STEREOTYPES, DEC_STORAGE |
Fields inherited from class org.argouml.cognitive.critics.Critic |
DEFAULT_CLARIFIER, 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 |
Constructor Summary | |
CrConsiderSingleton()
Constructor for the critic. |
Method Summary | |
boolean |
predicate2(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 CrConsiderSingleton()
Sets up the resource name, which will allow headline and description to be found for the current locale. Provides a design issue category (PATTERNS), sets a priority for any to-do items (LOW) and adds triggers for metaclasses "stereotype", "structuralFeature" and "associationEnd".
Method Detail |
public boolean predicate2(Object dm, Designer dsgr)
First check we are already a Singleton.
Otherwise plausible candidates for the Singleton design pattern are classes with no instance variables (i.e. non-static attributes) and no outgoing associations.
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
.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ArgoUML © 1996-2004 (20050222) | ArgoUML Homepage | ArgoUML Developers' page | ArgoUML Cookbook |