org.argouml.uml.cognitive.critics
Class CrNoInstanceVariables

java.lang.Object
  extended byorg.argouml.cognitive.critics.Critic
      extended byorg.argouml.uml.cognitive.critics.CrUML
          extended byorg.argouml.uml.cognitive.critics.CrNoInstanceVariables
All Implemented Interfaces:
Poster, Serializable

public class CrNoInstanceVariables
extends CrUML

A critic to detect if a class has instance variables. The critic fires currently only if a class and its base classes have no attributes at all. This is not neccesarily correct and the critic will have to deal with static attributes or attributes which are defined in a base class but are private.

See Also:
Serialized Form

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
CrNoInstanceVariables()
          The constructor.
 
Method Summary
private  boolean findChangeableInstanceAttributeInInherited(Object dm, int depth)
          Searches for attributes that are changeable instance attributes.
 Icon getClarifier()
           
 Class getWizardClass(ToDoItem item)
          Return the Class of wizard that can fix the problem identifed by this critic.
 void initWizard(Wizard w)
          Initialize a newly created wizard with information found by the critic.
 boolean predicate2(Object dm, Designer dsgr)
          This is the decision routine for the critic.
 
Methods inherited from class org.argouml.uml.cognitive.critics.CrUML
expand, predicate, setHeadline, setResource, toDoItem
 
Methods inherited from class org.argouml.cognitive.critics.Critic
addControlRec, addKnowledgeType, addSupportedDecision, addSupportedGoal, addTrigger, beActive, beInactive, canFixIt, containsKnowledgeType, critique, defaultMoreInfoURL, fixIt, getArg, getArgs, getControlRec, getCriticCategory, getCriticKey, getCriticName, getCriticType, getDecisionCategory, getDescription, getDescriptionTemplate, getExpertEmail, getHeadline, getHeadline, getHeadline, getKnowledgeTypes, getMoreInfoURL, getMoreInfoURL, getPriority, getPriority, getSupportedDecisions, getSupportedGoals, getTriggerMask, isActive, isEnabled, isRelevantToDecisions, isRelevantToGoals, makeWizard, matchReason, postItem, reasonCodeFor, setArg, setArgs, setDecisionCategory, setDescription, setEnabled, setExpertEmail, setKnowledgeTypes, setKnowledgeTypes, setKnowledgeTypes, setKnowledgeTypes, setMoreInfoURL, setPriority, snooze, snoozeOrder, stillValid, supports, supports, toString, unsnooze
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CrNoInstanceVariables

public CrNoInstanceVariables()
The constructor.

Method Detail

predicate2

public boolean predicate2(Object dm,
                          Designer dsgr)
Description copied from class: CrUML
This is the decision routine for the critic.

Overrides:
predicate2 in class CrUML
Parameters:
dm - is the UML entity (an NSUML object) that is being checked.
dsgr - is for future development and can be ignored.
Returns:
boolean problem found
See Also:
CrUML.predicate2( java.lang.Object, org.argouml.cognitive.Designer)

getClarifier

public Icon getClarifier()
Specified by:
getClarifier in interface Poster
Overrides:
getClarifier in class Critic
See Also:
Poster.getClarifier()

findChangeableInstanceAttributeInInherited

private boolean findChangeableInstanceAttributeInInherited(Object dm,
                                                           int depth)
Searches for attributes that are changeable instance attributes.

Parameters:
dm - The classifier to examine.
depth - Number of levels searched.
Returns:
true if an attribute can be found in this class or in any of its generalizations.

initWizard

public void initWizard(Wizard w)
Description copied from class: Critic
Initialize a newly created wizard with information found by the critic. This is called right after the wizard is made in makeWizard() and after the wizard's ToDoItem is set. Any critic that supports wizards should probably override this method, and call super initWizard() first.

Overrides:
initWizard in class Critic
Parameters:
w - the wizard
See Also:
Critic.initWizard( org.argouml.cognitive.ui.Wizard)

getWizardClass

public Class getWizardClass(ToDoItem item)
Description copied from class: Critic
Return the Class of wizard that can fix the problem identifed by this critic. This method returns null, subclasses with wizards should override it.

Overrides:
getWizardClass in class Critic
Parameters:
item - the todo item
Returns:
null if no wizard is defined.
See Also:
Critic.getWizardClass(org.argouml.cognitive.ToDoItem)


ArgoUML © 1996-2004 (20050222)ArgoUML HomepageArgoUML Developers' pageArgoUML Cookbook