Advice Interface
- public interface Advice
This interface is used to return advice from the Advisor.
Advice can consist of a number of namespaces (one for each Advislet)
each of which can contain a list of key-value pairs,
that contain sub-results for the Advice.
Advice is considered complete if isComplete returns true
and there are no ProcessingErrors associated with the Advice.
addProcessingError(ProcessingError) Method
public void addProcessingError(ProcessingError
error)
Adds an error that ocurred while processing
an AdviceRequest
Parameters
-
error
- the ProcessingError to be added.
getEntry(Advislet, Object) Method
public Object
getEntry(Advislet
advislet,
Object
key)
Retrieves an entry from an Advislet's namespace.
Parameters
-
advislet
- the Advislet namespace to be queried
-
key
- the key for the value within the namespace
Returns
- an Advice sub-result
getIdentifier() Method
public String
getIdentifier()
Get the identifier for the Advice.
Returns
- the unique identifier for the advice result
getProcessingErrors() Method
public ProcessingError
[] getProcessingErrors()
Get the ProcessingErrors which occured while creating the Advice.
Returns
- the errors that ocurred while processing an AdviceRequest
getResult(Advislet) Method
public Object
getResult(Advislet
advislet)
Get the object with the RESULT key for an Advislet.
Parameters
-
advislet
- The target Advislet
Returns
- the Object with the RESULT key for the Advislet
getResult() Method
public Object
getResult()
throws IllegalStateException
Returns the last RESULT key written to the Advice.
Returns
- the Object with the RESULT key for the final Advislet
The last object that was saved with RESULT key is returned
Exceptions
-
IllegalStateException
- if
isComplete
returns false
isComplete() Method
public boolean isComplete()
Returns the completion status for the Advice.
Returns
- true if the AdviceRequest was fully completed
without errors. If this method returns false the caller
should examine the ProcessingErrors before using any sub-result
entries and should not call getResult().
setEntry(Advislet, Object, Object) Method
public void setEntry(Advislet
advislet,
Object
key,
Object
value)
Sets an entry within an Advislet's namespace.
Parameters
-
advislet
- the Advislet namespace to be modifed
-
key
- the key for the Advice sub-result being added.
-
value
- the value to be associated with the key
setIncomplete() Method
public void setIncomplete()
Marks this Advice object as incomplete. Once an Advice
object is marked as incomplete it cannot be subsequently
marked as complete.
setResult(Advislet, Object) Method
public void setResult(Advislet
advislet,
Object
value)
Sets the result within an Advislet's namespace.
Parameters
-
advislet
- the Advislet namespace to be modifed
-
value
- the result value