|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.argouml.cognitive.Designer
This class models the designer who is building a complex design in some application domain and needs continuous feedback to aid in the making of good design decisions.
This area needs work, especially as it is a central idea of Argo.
Currently (almost) everything is hardcoded. What can be configurable??
The ToDoList is dependent on this class.
This class listens to property changes from ...?
A Designer can as well create ToDO Items, such as critics do. Hence he implements the Poster interface.
| Field Summary | |
static ConfigurationKey |
AUTO_CRITIQUE
The key to remember persistently the latest choice made for the menuitem Toggle Auto-Critique. |
static String |
MODEL_TODOITEM_ADDED
Property Names. |
static String |
MODEL_TODOITEM_DISMISSED
Property Names. |
| Method Summary | |
static void |
addListener(PropertyChangeListener pcl)
Adds a property change listener. |
boolean |
canFixIt(ToDoItem item)
Just returns false. |
static void |
clearCritiquing()
Clear all critiquing results. |
boolean |
containsKnowledgeType(String type)
|
void |
critique(Object des)
Look for potential problems or open issues in the given design. |
void |
critiqueASAP(Object dm,
String reason)
A modelelement has been changed. |
void |
determineActiveCritics()
Ask this designer's agency to select which critics should be active. |
static void |
disableCritiquing()
Disable critiquing. |
void |
disruptivelyWarn(ToDoItem item)
Inform the human designer that there is an urgent ToDoItem that (s)he must consider before doing any more work. |
int |
disruptiveThreshold()
Used to determine which ToDoItems are urgent. |
static void |
enableCritiquing()
Enable critiquing. |
String |
expand(String desc,
ListSet offs)
Just returns the descr param. |
static void |
firePropertyChange(String property,
Object oldValue,
Object newValue)
|
void |
fixIt(ToDoItem item,
Object arg)
Does not do anything. |
Agency |
getAgency()
Reply the Agency object that is helping this Designer. |
boolean |
getAutoCritique()
autoCritique and critiquingInterval are two prameters that control how the critiquing thread operates. |
ChildGenerator |
getChildGenerator()
|
Icon |
getClarifier()
Get the generic clarifier for this designer/poster. |
int |
getCritiquingInterval()
Get the Critiquing interval. |
static Object |
getCritiquingRoot()
|
DecisionModel |
getDecisionModel()
|
String |
getDesignerName()
query the name of the designer. |
String |
getExpertEmail()
Get some contact information on the Poster. |
GoalModel |
getGoalModel()
|
Vector |
getGoals()
|
Properties |
getPrefs()
Reply the designers personal preferneces. |
Vector |
getSupportedDecisions()
|
Vector |
getSupportedGoals()
|
ToDoList |
getToDoList()
|
boolean |
hasGoal(String goal)
Record the extent to which the designer desires the given goal. |
void |
inform(ToDoItem item)
Inform the human designer using this system that the given ToDoItem should be considered. |
boolean |
isConsidering(Decision d)
|
static boolean |
isUserWorking()
|
void |
nondisruptivelyWarn(ToDoItem item)
Inform the human designer that there is a ToDoItem that is relevant to his design work, and allow him to consider it on his own initiative. |
void |
propertyChange(PropertyChangeEvent pce)
Performs critique asap. |
static void |
removeListener(PropertyChangeListener p)
Removes a property change listener. |
void |
removeToDoItems(ToDoList list)
Remove all the items in the given list from my list. |
void |
run()
Continuously select and execute critics against this designer's design. |
void |
setAutoCritique(boolean b)
|
void |
setChildGenerator(ChildGenerator cg)
|
void |
setClarifier(Icon clar)
Get the generic clarifier for this designer/poster. |
void |
setCritiquingInterval(int i)
Set the Critiquing Interval. |
static void |
setCritiquingRoot(Object d)
|
void |
setDecisionPriority(String decision,
int priority)
Record the extent to which the designer is considering the given decision. |
void |
setDesignerName(String name)
set the name of this designer. |
void |
setExpertEmail(String addr)
Update the Poster's contact info. |
void |
setGoalPriority(String goal,
int priority)
|
static void |
setSaveAction(Action theSaveAction)
Setter for saveAction. |
static void |
setUserWorking(boolean working)
|
void |
snooze()
Temporarily disable this Poster. |
void |
spawnCritiquer(Object root)
Start a separate thread to continually select and execute critics that are relevant to this designer's work. |
void |
startDesiring(String goal)
|
boolean |
stillValid(ToDoItem i,
Designer d)
This method returns true. |
void |
stopDesiring(String goal)
|
boolean |
supports(Decision d)
|
boolean |
supports(Goal g)
|
static Designer |
theDesigner()
|
String |
toString()
This is used in the todo panel, when "By Poster" is chosen for a manually created todo item. |
void |
unsnooze()
Unsnooze this Poster, it may resume posting without further delay. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final ConfigurationKey AUTO_CRITIQUE
public static final String MODEL_TODOITEM_ADDED
public static final String MODEL_TODOITEM_DISMISSED
| Method Detail |
public static Designer theDesigner()
public void spawnCritiquer(Object root)
root - the rootobject the critiques will checkpublic void run()
spawnCritiquer(Object) is used to start a
Thread that runs this.
run in interface Runnable
public void critiqueASAP(Object dm,
String reason)
dm - the design materialreason - the reasonpublic void critique(Object des)
des - the design to be checkedpublic static void addListener(PropertyChangeListener pcl)
pcl - The property change listener to addpublic static void removeListener(PropertyChangeListener p)
p - The class to remove as a property change listener.public static void setSaveAction(Action theSaveAction)
theSaveAction - The new saveAction.
public static void firePropertyChange(String property,
Object oldValue,
Object newValue)
property - the property nameoldValue - the old valuenewValue - the new valuepublic void propertyChange(PropertyChangeEvent pce)
propertyChange in interface PropertyChangeListenerPropertyChangeListener.propertyChange(java.beans.PropertyChangeEvent)public void determineActiveCritics()
public boolean getAutoCritique()
public void setAutoCritique(boolean b)
b - getAutoCritique()public int getCritiquingInterval()
public void setCritiquingInterval(int i)
i - The new interval.public static void disableCritiquing()
public static void enableCritiquing()
public static void clearCritiquing()
public static void setCritiquingRoot(Object d)
d - the critiquing rootpublic static Object getCritiquingRoot()
public ChildGenerator getChildGenerator()
public void setChildGenerator(ChildGenerator cg)
cg - the childgeneratorpublic DecisionModel getDecisionModel()
public GoalModel getGoalModel()
public Vector getGoals()
public boolean stillValid(ToDoItem i,
Designer d)
ToDoItem's that are posted by the designer are assumed to be valid until the designer explicitly removes them. Perhaps in the future the designer could specify a condition to determine when his items expire.
stillValid in interface Posteri - the todo itemd - the designer
ToDoItem,
Critic.stillValid(org.argouml.cognitive.ToDoItem, org.argouml.cognitive.Designer),
Poster.stillValid(
org.argouml.cognitive.ToDoItem, org.argouml.cognitive.Designer)public boolean supports(Decision d)
supports in interface Posterd - the decision
Poster.supports(org.argouml.cognitive.Decision)public Vector getSupportedDecisions()
getSupportedDecisions in interface PosterPoster.getSupportedDecisions()public boolean supports(Goal g)
supports in interface Posterg - the goal
Poster.supports(org.argouml.cognitive.Goal)public Vector getSupportedGoals()
getSupportedGoals in interface PosterPoster.getSupportedGoals()public boolean containsKnowledgeType(String type)
containsKnowledgeType in interface Postertype - the knowledge type
Poster.containsKnowledgeType(java.lang.String)
public String expand(String desc,
ListSet offs)
expand in interface Posterdesc - the descriptionoffs - the offenders
Poster.expand(java.lang.String, ListSet)public Icon getClarifier()
getClarifier in interface PosterPoster.getClarifier()public void setClarifier(Icon clar)
clar - the clarifier iconpublic ToDoList getToDoList()
ToDoListpublic void removeToDoItems(ToDoList list)
list - the items to be removedpublic Properties getPrefs()
public boolean isConsidering(Decision d)
d - the decision
public void setDecisionPriority(String decision,
int priority)
decision - the decisionpriority - the prioritypublic boolean hasGoal(String goal)
goal - the given goal
public void setGoalPriority(String goal,
int priority)
goal - the given goalpriority - the prioritypublic void startDesiring(String goal)
goal - the goal I (me, the designer) desirepublic void stopDesiring(String goal)
goal - the goal that is not desired any morepublic String getExpertEmail()
Poster
getExpertEmail in interface PosterPoster.getExpertEmail()public void setExpertEmail(String addr)
Poster
setExpertEmail in interface Posteraddr - the emailaddressPoster.setExpertEmail(java.lang.String)public void snooze()
Poster
snooze in interface PosterPoster.snooze()public void unsnooze()
Poster
unsnooze in interface PosterPoster.unsnooze()public Agency getAgency()
public void inform(ToDoItem item)
item - the todo itempublic void disruptivelyWarn(ToDoItem item)
item - the todoitempublic void nondisruptivelyWarn(ToDoItem item)
item - the todo itempublic int disruptiveThreshold()
public void setDesignerName(String name)
name - the designer namepublic String getDesignerName()
public String toString()
Object.toString()
public void fixIt(ToDoItem item,
Object arg)
fixIt in interface Posteritem - the todo itemarg - the design material (?)Poster.fixIt(org.argouml.cognitive.ToDoItem,
java.lang.Object)public boolean canFixIt(ToDoItem item)
canFixIt in interface Posteritem - the todo item
Poster.canFixIt(org.argouml.cognitive.ToDoItem)public static void setUserWorking(boolean working)
working - true if the user is working
(i.e. this is not the startup phase of ArgoUML)public static boolean isUserWorking()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
| ArgoUML © 1996-2006 | ArgoUML Homepage | ArgoUML Developers' page | ArgoUML Cookbook |