org.argouml.cognitive
Class DecisionModel

java.lang.Object
  extended byjava.util.Observable
      extended byorg.argouml.cognitive.DecisionModel
All Implemented Interfaces:
Serializable

public class DecisionModel
extends Observable
implements 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

Field Summary
private  Vector decisions
           
 
Fields inherited from class java.util.Observable
 
Constructor Summary
DecisionModel()
          The constructor.
 
Method Summary
 void defineDecision(String decision, int priority)
          If the given decision is already defined, do nothing.
protected  Decision findDecision(String decName)
          Finds a decision with a specific name.
 Vector getDecisions()
           
 boolean isConsidering(String decision)
          Reply true iff the Designer is considering the given decision.
 void setDecisionPriority(String decision, int priority)
          This function sets the priority of an existing decision, or if the decision does not exist yet, it creates a new one.
 void startConsidering(Decision d)
          The Designer has indicated that he is now interested in the given decision.
 void startConsidering(String decision)
          The Designer has indicated that he is now interested in the given decision.
 void stopConsidering(Decision d)
          The Designer has indicated that he is not interested in the given decision right now.
 void stopConsidering(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
 

Field Detail

decisions

private Vector decisions
Constructor Detail

DecisionModel

public DecisionModel()
The constructor.

Method Detail

getDecisions

public Vector getDecisions()
Returns:
the list of decisions

isConsidering

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

Parameters:
decision - the given decision
Returns:
true if considered

setDecisionPriority

public void setDecisionPriority(String decision,
                                int priority)
This function sets the priority of an existing decision, or if the decision does not exist yet, it creates a new one.

Parameters:
decision - the given decision
priority - the new priority

defineDecision

public void defineDecision(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.

Parameters:
decision - the existing decision
priority - the priority

startConsidering

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

Parameters:
decision - the interesting decision

startConsidering

public void startConsidering(Decision d)
The Designer has indicated that he is now interested in the given decision.

Parameters:
d - the interesting decision

stopConsidering

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

Parameters:
decision - the uninteresting decision

stopConsidering

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

Parameters:
d - the uninteresting decision

findDecision

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

Parameters:
decName - the decision name
Returns:
a decision or null if not found.


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