org.argouml.uml.cognitive.critics
Class CrNameConfusion

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

public class CrNameConfusion
extends CrUML

Well-formedness rule [1] for MNamespace. See page 33 of UML 1.1 Semantics. OMG document ad/97-08-04.

See Also:
Serialized Form

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
CrNameConfusion()
           
 
Method Summary
 org.tigris.gef.util.VectorSet computeOffenders(java.lang.Object dm)
           
 boolean confusable(java.lang.String stripped1, java.lang.String stripped2)
           
 int countDiffs(java.lang.String s1, java.lang.String s2)
           
 javax.swing.Icon getClarifier()
           
 java.lang.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(java.lang.Object dm, Designer dsgr)
           
 boolean stillValid(ToDoItem i, Designer dsgr)
          Return true iff the given ToDoItem is still valid and should be kept in the given designers ToDoList.
 java.lang.String strip(java.lang.String s)
           
 ToDoItem toDoItem(java.lang.Object dm, Designer dsgr)
          create a new UMLToDoItem.
 
Methods inherited from class org.argouml.uml.cognitive.critics.CrUML
expand, predicate, setHeadline, setResource
 
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, 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, supports, supports, toString, unsnooze
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CrNameConfusion

public CrNameConfusion()
Method Detail

predicate2

public boolean predicate2(java.lang.Object dm,
                          Designer dsgr)
Overrides:
predicate2 in class CrUML

computeOffenders

public org.tigris.gef.util.VectorSet computeOffenders(java.lang.Object dm)

toDoItem

public ToDoItem toDoItem(java.lang.Object dm,
                         Designer dsgr)
Description copied from class: CrUML
create a new UMLToDoItem.

Overrides:
toDoItem in class CrUML
See Also:
UMLToDoItem

stillValid

public boolean stillValid(ToDoItem i,
                          Designer dsgr)
Description copied from class: Critic
Return true iff the given ToDoItem is still valid and should be kept in the given designers ToDoList. Critics that are not enabled should always return false so that their ToDoItems will be removed. Subclasses of Critic that supply multiple offenders should always override this method.

By default this method basically asks the critic to again critique the offending Object and then it checks if the resulting ToDoItem is the same as the one already posted. This is simple and it works fine for light-weight critics. Critics that expend a lot of computational effort in making feedback that can be easily check to see if it still holds, should override this method.

TODO: Maybe ToDoItem should carry some data to make this method more efficient.

Specified by:
stillValid in interface Poster
Overrides:
stillValid in class Critic

confusable

public boolean confusable(java.lang.String stripped1,
                          java.lang.String stripped2)

countDiffs

public int countDiffs(java.lang.String s1,
                      java.lang.String s2)

strip

public java.lang.String strip(java.lang.String s)

getClarifier

public javax.swing.Icon getClarifier()
Specified by:
getClarifier in interface Poster
Overrides:
getClarifier in class Critic

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

getWizardClass

public java.lang.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
Returns:
null if no wizard is defined.


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