org.argouml.uml.cognitive.critics
Class CrCircularInheritance
java.lang.Object
|
+--org.argouml.cognitive.critics.Critic
|
+--org.argouml.uml.cognitive.critics.CrUML
|
+--org.argouml.uml.cognitive.critics.CrCircularInheritance
- All Implemented Interfaces:
- Poster, java.io.Serializable
- public class CrCircularInheritance
- extends CrUML
Well-formedness rule [2] for MGeneralizableElement. See page 31 of UML 1.1
Semantics. OMG document ad/97-08-04.
- See Also:
- Serialized Form
Field Summary |
protected static Category |
cat
|
Fields inherited from class org.argouml.uml.cognitive.critics.CrUML |
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 |
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, 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, 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 |
cat
protected static Category cat
CrCircularInheritance
public CrCircularInheritance()
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
- See Also:
Critic.critique(java.lang.Object, org.argouml.cognitive.Designer)
computeOffenders
protected VectorSet computeOffenders(MGeneralizableElement dm)
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