com.bea.p13n.advisor
Interface Advice


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

Method Detail

getEntry

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

setEntry

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

setResult

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

getIdentifier

String getIdentifier()
Get the identifier for the Advice.

Returns
the unique identifier for the advice result

getProcessingErrors

ProcessingError[] getProcessingErrors()
Get the ProcessingErrors which occured while creating the Advice.

Returns
the errors that ocurred while processing an AdviceRequest

addProcessingError

void addProcessingError(ProcessingError error)
Adds an error that ocurred while processing an AdviceRequest

Parameters
error - the ProcessingError to be added.

isComplete

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().

setIncomplete

void setIncomplete()
Marks this Advice object as incomplete. Once an Advice object is marked as incomplete it cannot be subsequently marked as complete.


getResult

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

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
Throws
IllegalStateException - if isComplete returns false


Copyright © 2000, 2009, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.