Advice Interface

com.bea.p13n.advisor
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.

Method Summary

public void
addProcessingError(ProcessingError error)
Adds an error that ocurred while processing an AdviceRequest
public Object
getEntry(Advislet advislet, Object key)
Retrieves an entry from an Advislet's namespace.
public String
getIdentifier()
Get the identifier for the Advice.
public ProcessingError[]
getProcessingErrors()
Get the ProcessingErrors which occured while creating the Advice.
public Object
getResult(Advislet advislet)
Get the object with the RESULT key for an Advislet.
public Object
getResult()
Returns the last RESULT key written to the Advice.
public boolean
isComplete()
Returns the completion status for the Advice.
public void
setEntry(Advislet advislet, Object key, Object value)
Sets an entry within an Advislet's namespace.
public void
setIncomplete()
Marks this Advice object as incomplete.
public void
setResult(Advislet advislet, Object value)
Sets the result within an Advislet's namespace.

Method Detail

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