org.argouml.cognitive
Class DecisionModel

java.lang.Object
  |
  +--java.util.Observable
        |
        +--org.argouml.cognitive.DecisionModel
All Implemented Interfaces:
java.io.Serializable

public class DecisionModel
extends java.util.Observable
implements java.io.Serializable

The DecisionModel is part of the state of the Designer. It describes what types of decisions, or design issues, the Designer is thinking about at the current time. Critics that are relevant to those decisions are made active, Critics that are not relevant are made inactive. TODO: There is some notion that each decision has a certain importanance at a certain time, but I have not followed through on that because I don't have good examples of how to quantify the importance of a decision. TODO: Right now the individual decisions are just Strings, maybe they should have some non-atomic structure?

See Also:
Serialized Form

Constructor Summary
DecisionModel()
           
 
Method Summary
 void defineDecision(java.lang.String decision, int priority)
          If the given decision is already defined, do nothing.
protected  Decision findDecision(java.lang.String decName)
          Finds a decision with a specific name.
 java.util.Vector getDecisions()
           
 boolean isConsidering(java.lang.String decision)
          Reply true iff the Designer is considering the given decision.
 void setDecisionPriority(java.lang.String decision, int priority)
           
 void startConsidering(Decision d)
           
 void startConsidering(java.lang.String decision)
          The Designer has indicated that he is now interested in the given decision.
 void stopConsidering(Decision d)
           
 void stopConsidering(java.lang.String decision)
          The Designer has indicated that he is not interested in the given decision right now.
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DecisionModel

public DecisionModel()
Method Detail

getDecisions

public java.util.Vector getDecisions()

isConsidering

public boolean isConsidering(java.lang.String decision)
Reply true iff the Designer is considering the given decision.


setDecisionPriority

public void setDecisionPriority(java.lang.String decision,
                                int priority)

defineDecision

public void defineDecision(java.lang.String decision,
                           int priority)
If the given decision is already defined, do nothing. If it is not already defined, set it to the given initial priority.


startConsidering

public void startConsidering(java.lang.String decision)
The Designer has indicated that he is now interested in the given decision.


startConsidering

public void startConsidering(Decision d)

stopConsidering

public void stopConsidering(java.lang.String decision)
The Designer has indicated that he is not interested in the given decision right now.


stopConsidering

public void stopConsidering(Decision d)

findDecision

protected Decision findDecision(java.lang.String decName)
Finds a decision with a specific name.

Returns:
a decision or null if not found.


ArgoUML © 1996-2003 (20040216)ArgoUML Project HomeArgoUML Cookbook