org.argouml.uml.cognitive.critics
Class CrSeqInstanceWithoutClassifier

java.lang.Object
  |
  +--org.argouml.cognitive.critics.Critic
        |
        +--org.argouml.uml.cognitive.critics.CrUML
              |
              +--org.argouml.uml.cognitive.critics.CrSeqInstanceWithoutClassifier
All Implemented Interfaces:
Poster, java.io.Serializable

public class CrSeqInstanceWithoutClassifier
extends CrUML

A critic to detect when an object in a deployment-diagram is not inside a component or a component-instance

See Also:
Serialized Form

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, RESOURCE_BUNDLE, SNOOZE_ORDER
 
Constructor Summary
CrSeqInstanceWithoutClassifier()
           
 
Method Summary
 org.tigris.gef.util.VectorSet computeOffenders(UMLSequenceDiagram sd)
          If there are instances that have no classifiers they belong to the returned vector-set is not null.
 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.
 ToDoItem toDoItem(java.lang.Object dm, Designer dsgr)
          Reply the ToDoItem that the designer should see iff predicate() returns true.
 
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, getClarifier, getControlRec, getCriticCategory, getCriticKey, getCriticName, getCriticType, getDecisionCategory, getDescription, getDescriptionTemplate, getExpertEmail, getHeadline, getHeadline, getHeadline, getMoreInfoURL, getMoreInfoURL, getPriority, getPriority, getSupportedDecisions, getSupportedGoals, getTriggerMask, getWizardClass, initWizard, 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

CrSeqInstanceWithoutClassifier

public CrSeqInstanceWithoutClassifier()
Method Detail

predicate2

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

toDoItem

public ToDoItem toDoItem(java.lang.Object dm,
                         Designer dsgr)
Description copied from class: Critic
Reply the ToDoItem that the designer should see iff predicate() returns true. By default it just fills in the fields of the ToDoItem from accessor methods of this Critic. Critic Subclasses may override this method or the accessor methods to add computed fields to the ToDoItem. TODO: Critic's may want to add new fields to a ToDoItem to make stillValid more efficent.
Overrides:
toDoItem in class Critic
Following copied from class: org.argouml.cognitive.critics.Critic
See Also:
Critic.critique(java.lang.Object, org.argouml.cognitive.Designer)

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.

Overrides:
stillValid in class Critic

computeOffenders

public org.tigris.gef.util.VectorSet computeOffenders(UMLSequenceDiagram sd)
If there are instances that have no classifiers they belong to the returned vector-set is not null. Then in the vector-set are the UMLSequenceDiagram and all FigObjects, FigComponentInstances and FigMNodeInstances with no classifier.


ArgoUML (c) 1996-2002
ArgoUML Project Home
ArgoUML Cookbook