# com.bea.p13n.advisor
Advisor Interface

public interface Advisor

An Advisor makes recommendations when provided with an advice request. The Advisor subsystem is designed to isolate clients from implementations that provide the advice required.

All Known Subinterfaces
  `EjbAdvisor`

## Method Summary

`public `Advice`` | `getAdvice`(`AdviceRequest` request) Get recommendations based on the request submitted.
`public `Advice`` | `getAdvice`(`String` uri) Get recommendations based on the uri submitted.

## Method Detail

### getAdvice(AdviceRequest) Method

    public Advice getAdvice(AdviceRequest request)
         throws IllegalArgumentException, RemoteException, AdvisorException

Get recommendations based on the request submitted. AdviceRequest objects should be obtained from the AdvisorFactory class.

#### Parameters

request
  Request for advice.

#### Returns

The recommendations as an AdviceResults object.

#### Exceptions

``IllegalArgumentException``
  thrown if request is null.
``RemoteException``
``AdvisorException``
  thrown on an error processing request.

### getAdvice(String) Method

    public Advice getAdvice(String uri)
         throws IllegalArgumentException, RemoteException, AdvisorException

Get recommendations based on the uri submitted. Requests made using this method will not provide the associated Advislet with access to their session data.

#### Parameters

uri
  Request for advice.

#### Returns

The recommendations as an AdviceResults object.

#### Exceptions

``IllegalArgumentException``
  thrown if request is null.
``RemoteException``
``AdvisorException``
  thrown on an error processing request.