|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.maven.werkz.Goal
Abstract Goal to attain.
A Goal
embodies both an action and the precursors for that action. A Goal
's precursors
will be satisfied before attempting to perform the target Goal
's action. There may be a case that
once precursors have been satisfied there is no further action required to be perform for a particular
Goal
.
A Goal
's postcursors are also tracked so that if a Goal
's state has been changed and
the Goal
s ahead of it in the hierarchy need to be notified, it can percolate
forward
and have it's postcursors satisfied.
WerkzProject
,
Action
Field Summary | |
static Goal[] |
EMPTY_ARRAY
Empty Goal array. |
Constructor Summary | |
Goal(java.lang.String name)
Construct a new Goal with the specified name. |
|
Goal(java.lang.String name,
Action action)
Construct a new Goal with the specified name and Action . |
Method Summary | |
void |
addPostActionCallback(PostActionCallback callback)
Add a post-action callback to this Goal . |
void |
addPostcursor(Goal postcursor)
Add a postcursor Goal to this Goal . |
void |
addPostGoalCallback(PostGoalCallback callback)
Add a post-goal callback to this Goal . |
void |
addPreActionCallback(PreActionCallback callback)
Add a pre-action callback to this Goal . |
void |
addPrecursor(Goal precursor)
Add a precursor Goal to this Goal . |
void |
addPreGoalCallback(PreGoalCallback callback)
Add a pre-goal callback to this Goal . |
void |
attain(Session session)
Attempt to attain this Goal . |
(package private) void |
attainPrecursors(Session session)
Attempt to attain this Goal 's precursor Goal s. |
(package private) void |
checkForCycles()
Perform a cyclic dependency check. |
(package private) void |
checkForCycles(Goal initialGoal,
java.util.Set visited)
Perform a cyclic dependency check. |
boolean |
equals(java.lang.Object thatObj)
Determine if two Goal objects are equivelant. |
(package private) void |
firePostActionCallbacks()
Fire the post-action callbacks. |
(package private) void |
firePostGoalCallbacks()
Fire the post-goal callbacks. |
(package private) void |
firePreActionCallbacks()
Fire the pre-action callbacks. |
(package private) void |
firePreGoalCallbacks()
Fire the pre-goal callbacks. |
Action |
getAction()
Retrieve the Action of this Goal . |
java.lang.String |
getDescription()
Retrieve the description of this Goal . |
java.lang.String |
getName()
Retrieve the name of this Goal . |
java.util.List |
getPostActionCallbacks()
Retrieve an unmodifiable list of the post-action callbacks. |
java.util.List |
getPostcursors()
Retrive an unmodifiable List of this Goal 's postcursor Goal s. |
java.util.List |
getPostGoalCallbacks()
Retrieve an unmodifiable list of the post-goal callbacks. |
java.util.List |
getPreActionCallbacks()
Retrieve an unmodifiable list of the pre-action callbacks. |
java.util.List |
getPrecursors()
Retrieve an unmodifiable List of this Goal 's precursor Goal s. |
java.util.List |
getPreGoalCallbacks()
Retrieve an unmodifiable list of the pre-goal callbacks. |
int |
hashCode()
Retrieve the hash-code of this object. |
boolean |
isSatisfied(Session session)
Determine if this Goal has been satisfied for the specified Session . |
void |
percolate(Session session)
Attempt to percolate this Goal through to its Postcursors. |
(package private) void |
percolatePostcursors(Session session)
Attempt to attain this Goal 's postcursor Goal s. |
void |
removePostActionCallback(PostActionCallback callback)
Remove all occurences of a post-action callback from this Goal . |
void |
removePostGoalCallback(PostGoalCallback callback)
Remove all occurences of a post-goal callback from this Goal . |
void |
removePreActionCallback(PreActionCallback callback)
Remove all occurences of a pre-action callback from this Goal . |
void |
removePreGoalCallback(PreGoalCallback callback)
Remove all occurences of a pre-goal callback from this Goal . |
void |
setAction(Action action)
Set the Action of this Goal . |
void |
setDescription(java.lang.String description)
Set the description for this Goal . |
java.lang.String |
toString()
Produce a textual representation suitable for debugging. |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final Goal[] EMPTY_ARRAY
Goal
array.
Constructor Detail |
public Goal(java.lang.String name)
Goal
with the specified name.
name
- The name of the Goal
.public Goal(java.lang.String name, Action action)
Goal
with the specified name and Action
.
name
- The name of the Goal
.action
- The Action
for this Goal
.Method Detail |
public java.lang.String getName()
Goal
.
Goal
's name.public java.lang.String getDescription()
Goal
.
public void setDescription(java.lang.String description)
Goal
.
description
- The description of this goal.public Action getAction()
Action
of this Goal
.
Action
of this Goal
.public void setAction(Action action)
Action
of this Goal
.
action
- The Action
of this Goal
.public void addPreGoalCallback(PreGoalCallback callback)
Goal
.
callback
- The callback to add.public void removePreGoalCallback(PreGoalCallback callback)
Goal
.
callback
- The callback to remove.public java.util.List getPreGoalCallbacks()
List
of PreGoalCallback
s.public void addPostGoalCallback(PostGoalCallback callback)
Goal
.
callback
- The callback to add.public void removePostGoalCallback(PostGoalCallback callback)
Goal
.
callback
- The callback to remove.public java.util.List getPostGoalCallbacks()
List
of PostGoalCallback
s.public void addPreActionCallback(PreActionCallback callback)
Goal
.
callback
- The callback to add.public void removePreActionCallback(PreActionCallback callback)
Goal
.
callback
- The callback to remove.public java.util.List getPreActionCallbacks()
List
of PreActionCallback
s.public void addPostActionCallback(PostActionCallback callback)
Goal
.
callback
- The callback to add.public void removePostActionCallback(PostActionCallback callback)
Goal
.
callback
- The callback to remove.public java.util.List getPostActionCallbacks()
List
of PostActionCallback
s.public boolean isSatisfied(Session session)
Goal
has been satisfied for the specified Session
.
session
- The Session
context in which to test for goal satisfaction.
true
if this Goal
has been satisfied within the Session
,
otherwise false
.public void addPrecursor(Goal precursor) throws CyclicGoalChainException
Goal
to this Goal
.
precursor
- The precursor Goal
that must be satisfied before performing this Goal
.
CyclicGoalChainException
- if adding the precursor would result in a cyclic dependency.public void addPostcursor(Goal postcursor) throws CyclicGoalChainException
Goal
to this Goal
.
postcursor
- The postcursor Goal
that depends on this Goal
.
CyclicGoalChainException
- if adding the postcursor would result in a cyclic dependency.public java.util.List getPrecursors()
List
of this Goal
's precursor Goal
s.
List of precursor Goal
s.
public java.util.List getPostcursors()
List
of this Goal
's postcursor Goal
s.
List
of postcursor Goal
s.void attainPrecursors(Session session) throws UnattainableGoalException, NoActionDefinitionException
Goal
's precursor Goal
s.
session
- The context in which to attain goals.
UnattainableGoalException
- if unable to satisfy a precursor.
NoActionDefinitionException
- if this goal contains no action definition.void percolatePostcursors(Session session) throws UnattainableGoalException, NoActionDefinitionException
Goal
's postcursor Goal
s.
session
- The context in which to attain goals.
UnattainableGoalException
- if unable to satisfy a postcursor.
NoActionDefinitionException
- if this goal contains no action definition.void checkForCycles() throws CyclicGoalChainException
CyclicGoalChainException
- if a dependency cycle is discovered.void checkForCycles(Goal initialGoal, java.util.Set visited) throws CyclicGoalChainException
initialGoal
- The root Goal
initiating the cycle check.visited
- The Set
of all Goal
s visited between the root initialGoal
and this Goal
.
CyclicGoalChainException
- if a cyclic dependency is detected.public final void attain(Session session) throws UnattainableGoalException, NoActionDefinitionException
Goal
.
session
- The context in which to attain goals.
UnattainableGoalException
- if unable to attain this Goal
or one of its precursor Goal
s.
NoActionDefinitionException
- if this goal contains no action definition.public final void percolate(Session session) throws UnattainableGoalException, NoActionDefinitionException
Goal
through to its Postcursors.
session
- The context in which to percolate goals.
UnattainableGoalException
- if unable to attain this Goal
or one of its precursor Goal
s.
NoActionDefinitionException
- if this goal contains no action definition.void firePreGoalCallbacks() throws java.lang.Exception
java.lang.Exception
- if an error occurs while firing a callback.void firePostGoalCallbacks() throws java.lang.Exception
java.lang.Exception
- if an error occurs while firing a callback.void firePreActionCallbacks() throws java.lang.Exception
java.lang.Exception
- if an error occurs while firing a callback.void firePostActionCallbacks() throws java.lang.Exception
java.lang.Exception
- if an error occurs while firing a callback.public int hashCode()
The hash-code is derrived only from the name of the Goal
as returned by getName()
.
public boolean equals(java.lang.Object thatObj)
Goal
objects are equivelant.
Equivelancy is determined only from the names of the Goal
s as return by getName()
.
thatObj
- The object to compare to this object.
public java.lang.String toString()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |