@AccessLevel(value=EXTERNAL)
public interface Advisor
The primary use case for advice in the application is to provide context
sensitive guidance for the page that the user is currently viewing. When a
user views a page in the application, the page name and the parameters used
to view that page can be sent to this business interface. This business
interface will then calculate and return guidance to the caller if any
advice has been configured for the page. The result is an xml document. This
xml document is in an xml format which is understood by a special client
side widget responsible for presenting the advice to the user. This widget
is associated with the domain definition ADVICE_XML
and should
be used at all times when presenting advice to users.
Example usages of advice vary in range from extremely simple to extremely complex. A simple example, would be presenting a user with guidance that some mandatory data has not yet been captured. More complex examples are varied, but could include outputting recommendations for specific programs an individual should apply for or which services may be appropriate to an individual. This would be similar to running an assessment in the application, but instead of the user deciding to run an assessment and asking directed questions, the user would be prompted dynamically as a result of the client information captured so far. Complex examples could also include identifying fraud risks based on previous experience.
Advice which is returned from this business interface must have been configured in the administration application. The advisor functionality is a pure configuration infrastructure and no support currently exists to create advice manually.
Modifier and Type | Method and Description |
---|---|
curam.advisor.facade.struct.AdviceDetails |
getAdvice(curam.advisor.facade.struct.AdviceKey key)
Reads the advice for the page and parameters passed in.
|
curam.advisor.facade.struct.PingResult |
ping(curam.advisor.facade.struct.PingKey key)
Determines if the advice for a particular page has changed since a
particular time.
|
@AccessLevel(value=EXTERNAL) curam.advisor.facade.struct.AdviceDetails getAdvice(curam.advisor.facade.struct.AdviceKey key) throws curam.util.exception.AppException, curam.util.exception.InformationalException
key
- The identifier for a page, the page's parameters and a
timestampcuram.util.exception.AppException
curam.util.exception.InformationalException
AdviceContext, AdviceContextConfiguration |
@AccessLevel(value=EXTERNAL) curam.advisor.facade.struct.PingResult ping(curam.advisor.facade.struct.PingKey key) throws curam.util.exception.AppException, curam.util.exception.InformationalException
An example of functionality which would make use of this operation is any functionality which needed to refresh itself when the advice for a particular page changed.
key
- The identifier for a page, the page's parameters and a
timestampcuram.util.exception.AppException
curam.util.exception.InformationalException
AdviceContext, AdviceContextConfiguration |