|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--com.grandcentral.appstats.impl.TaskImpl
Copyright: Copyright (c) 2002
Company: Grand Central Communications
| Field Summary | |
protected static int |
INITIAL_MAP_SIZE
|
protected StatAggregator |
m_agg
|
protected java.util.List |
m_children
|
protected java.util.LinkedList |
m_errors
|
protected java.util.List |
m_flushListeners
|
protected int |
m_maxErrors
|
protected java.lang.String |
m_name
|
protected Task |
m_parent
|
protected java.util.Map |
m_statCalculators
|
protected java.util.HashMap |
m_statMap
|
protected java.util.List |
m_updateTaskListeners
|
| Fields inherited from interface com.grandcentral.appstats.Task |
DEFAULT_MAXERRORS, STAT_ERRORCOUNT, TASK_STATE_DEFAULT_NAME, TASK_TIMER_DEFAULT_NAME |
| Constructor Summary | |
TaskImpl()
|
|
| Method Summary | |
void |
addChild(Task newChild)
Adds a child subtask to this process. |
void |
addError(java.lang.Throwable ex)
Adds an error to the list. |
void |
aggregate(Task task)
Prcesses data from the finished task, updating any internal counters. |
void |
clear()
clears all stats, errors, and calls clear() on all StatCalculators |
void |
clearErrors()
deletes all errors from this Task |
Stat |
exists(java.lang.String statName)
Returns Stat if stat by that name exists. |
void |
flush()
Marks that this task's job is finished and allows parent to record this task's results. |
java.util.List |
getChildren()
Returns all child tasks, or null if none are present. |
Counter |
getCounter(java.lang.String name)
Returns named counter, if such counter does not exist, new one will be created |
java.util.List |
getErrors()
Returns a list of Throwable errors registered with this Task. |
int |
getMaxErrorDepth()
|
java.lang.String |
getName()
Displayable name |
Task |
getParent()
Returns parent object or null iof there is no parent |
java.lang.String |
getProperty(java.lang.String name)
|
Stat |
getStat(java.lang.String statName)
Returns existing stat by statName, or creates a new one. |
Stat |
getStat(java.lang.String name,
int type)
convenience method to provide a stat with the specified type. |
StatAggregator |
getStatAggregator()
|
Stat |
getStatByFullName(java.lang.String fullname)
locates a Stat in this Task or a child task based on its fullname |
java.util.List |
getStatNames()
Note: This MUST be a NEW list, to avoid ConcurrentModificationException. |
java.util.List |
getStatNames(int depth)
This function returns stat names visible to this task. |
java.util.List |
getStats()
Note: This MUST be a NEW list, to avoid ConcurrentModificationException in multithreaded envitoment |
java.util.List |
getStats(java.util.Collection names,
int depth)
Stats returned are those matching full names specified in the Collection. |
java.util.List |
getStats(int depth)
This function returns stats visible to this task. Note: If any stats belong to the children of this they are cloned. |
Timer |
getTimer(java.lang.String name)
Returns a Timer for a given type of operation. |
void |
putCounter(Counter counter)
Overwrites old counter with a new one. |
void |
putStat(Stat stat)
stores a Stat in this stat. |
void |
putTimer(Timer timer)
|
void |
registerFlushListener(FlushListener l)
|
void |
registerStatCalculator(StatCalculator c,
java.lang.String statName)
StatCalculator is called upon Task flush/aggregation whenever a stat is encountered with the following statName. |
void |
registerUpdateTaskListener(UpdateTaskListener listener)
Registers an updateTaskListener with this object |
void |
removeChild(Task oldChild)
Removes a child task from the list of active children. |
void |
removeCounter(java.lang.String name)
|
void |
removeFlushListener(FlushListener l)
|
protected void |
removeParent()
|
void |
removeStat(Stat stat)
|
void |
removeStat(java.lang.String statName)
|
void |
removeStatCalculator(java.lang.String statName)
|
boolean |
removeStats(java.util.Collection c)
Removes all Stats that are not present in the collection. |
void |
removeStatsThatStartWith(java.lang.String s)
removes all stats whose statNames start with s. |
void |
removeTimer(java.lang.String name)
|
void |
removeUpdateTaskListener(UpdateTaskListener listener)
removes the task listener registered with a specific child |
void |
setMaxErrorDepth(int maxErrors)
Alter the maximum number of most recent errors to keep in this Task. |
void |
setName(java.lang.String name)
Sets name of this task. |
protected void |
setParent(Task parent)
|
void |
setProperty(java.lang.String name,
java.lang.String property)
Note: if property is null, stat will get Removed even if it contains any additional data |
void |
setStatAggregator(StatAggregator sa)
|
void |
update()
Must be called by the viewer code, before accessing stats. Causes all UpdateTaskListeners to update any fields in the task. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected static final int INITIAL_MAP_SIZE
protected java.lang.String m_name
protected Task m_parent
protected java.util.LinkedList m_errors
protected int m_maxErrors
protected java.util.HashMap m_statMap
protected java.util.List m_children
protected transient java.util.List m_updateTaskListeners
protected transient java.util.List m_flushListeners
protected java.util.Map m_statCalculators
protected StatAggregator m_agg
| Constructor Detail |
public TaskImpl()
| Method Detail |
public void setName(java.lang.String name)
throws java.lang.IllegalArgumentException
Stat.DELIM_TASKPARENT character and must not be null.setName in interface Taskname - java.lang.IllegalArgumentException - if given name is not allowedpublic java.lang.String getName()
TaskgetName in interface Taskcom.grandcentral.appstats.Taskpublic StatAggregator getStatAggregator()
getStatAggregator in interface Taskpublic void setStatAggregator(StatAggregator sa)
setStatAggregator in interface Taskpublic Timer getTimer(java.lang.String name)
TaskgetTimer in interface Taskcom.grandcentral.appstats.Taskname - operation namepublic void putTimer(Timer timer)
putTimer in interface Taskpublic void removeTimer(java.lang.String name)
removeTimer in interface Taskpublic Counter getCounter(java.lang.String name)
TaskgetCounter in interface Taskcom.grandcentral.appstats.Taskname - of the desired counterpublic void putCounter(Counter counter)
TaskputCounter in interface Taskcom.grandcentral.appstats.Taskcounter - public void removeCounter(java.lang.String name)
removeCounter in interface Task
public void setProperty(java.lang.String name,
java.lang.String property)
setProperty in interface Taskproperty - set to null to REMOVE propertypublic java.lang.String getProperty(java.lang.String name)
getProperty in interface Taskpublic Stat getStat(java.lang.String statName)
TaskgetStat in interface Taskcom.grandcentral.appstats.Taskname - public void putStat(Stat stat)
TaskputStat in interface Taskpublic void removeStat(java.lang.String statName)
removeStat in interface Taskpublic void removeStat(Stat stat)
removeStat in interface Taskpublic void removeStatsThatStartWith(java.lang.String s)
TaskremoveStatsThatStartWith in interface Task
public Stat getStat(java.lang.String name,
int type)
getStat in interface Taskpublic Stat getStatByFullName(java.lang.String fullname)
TaskgetStatByFullName in interface Taskcom.grandcentral.appstats.TaskTask.update(),
Stat.getFullName()public java.util.List getStats()
getStats in interface Taskpublic java.util.List getStats(int depth)
getStats in interface Taskdepth - number of levels to get stats of. [-1, 0, 1, 2, 3...)
(-1)-full depth, (0)-just this task, (1)-immediate children, etc.
Warning: Maximum depth is limited to abs(Integer.MIN_VALUE)public java.util.List getStatNames()
getStatNames in interface Taskpublic java.util.List getStatNames(int depth)
getStatNames in interface Taskdepth - number of levels to get stats of. [-1, 0, 1, 2, 3...)
(-1)-full depth, (0)-just this task, (1)-immediate children, etc.
Warning: Maximum depth is limited to abs(Integer.MIN_VALUE)public Stat exists(java.lang.String statName)
Taskexists in interface Taskcom.grandcentral.appstats.TaskstatName - public void addError(java.lang.Throwable ex)
TaskaddError in interface Taskcom.grandcentral.appstats.Taskex - setMaxErrorDepth()public java.util.List getErrors()
TaskgetErrors in interface Taskcom.grandcentral.appstats.Taskpublic void clearErrors()
TaskclearErrors in interface Taskpublic void setMaxErrorDepth(int maxErrors)
TasksetMaxErrorDepth in interface Taskpublic int getMaxErrorDepth()
getMaxErrorDepth in interface Task
public void flush()
throws DatatypeMismatchException
flush in interface Taskupdate(),
aggregate(com.grandcentral.appstats.Task)public Task getParent()
TaskgetParent in interface Taskcom.grandcentral.appstats.Taskprotected void setParent(Task parent)
protected void removeParent()
public void addChild(Task newChild)
TaskaddChild in interface Taskpublic void removeChild(Task oldChild)
TaskremoveChild in interface Taskpublic java.util.List getChildren()
TaskgetChildren in interface Taskcom.grandcentral.appstats.Taskpublic void registerUpdateTaskListener(UpdateTaskListener listener)
TaskReferences to UpdateTaskListeners are not serialized along with the Task since they may or may not be serializable themselves.
registerUpdateTaskListener in interface Taskcom.grandcentral.appstats.TasknewChild - handler - public void removeUpdateTaskListener(UpdateTaskListener listener)
removeUpdateTaskListener in interface Task
public void update()
throws DatatypeMismatchException
Taskupdate in interface Taskcom.grandcentral.appstats.TaskDatatypeMismatchException - UpdateTaskListenerpublic void registerFlushListener(FlushListener l)
registerFlushListener in interface Taskpublic void removeFlushListener(FlushListener l)
removeFlushListener in interface Taskpublic void aggregate(Task task)
Taskaggregate in interface Task
public void registerStatCalculator(StatCalculator c,
java.lang.String statName)
TaskregisterStatCalculator in interface Taskcom.grandcentral.appstats.Taskjava.lang.IllegalArgumentException - if c instanceof FlushListener or UpdateTaskListenerpublic void removeStatCalculator(java.lang.String statName)
removeStatCalculator in interface Taskpublic void clear()
clear in interface Taskpublic boolean removeStats(java.util.Collection c)
TaskremoveStats in interface Taskcom.grandcentral.appstats.Taskc - a Collection of Stat objects that are to be retained,
or a Collection of Strings that are full names of stats to be retained.
public java.util.List getStats(java.util.Collection names,
int depth)
TaskgetStats in interface Taskcom.grandcentral.appstats.Tasknames - a Collection of Strings that are full names of wanted stats.depth - number of levels to get stats of. [-1, 0, 1, 2, 3...)Task.getStats(int)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||