# com.bea.p13n.content.advislets
ContentQueryAdvisletImpl Class

public final class ContentQueryAdvisletImpl
extends `AbstractAdvislet`
implements `Serializable`

This class is the implementation class for a ContentQuery Advislet. This Advislet can issue queries against the content management system and retrieve content.

Required inputs to the Advislet are:
HTTP_SESSION - the Session object.

HTTP_REQUEST - The Request object.

USER - the User object.

CONTENT_QUERY_MAX_ITEMS - the maximum number of items to return (Long).

CONTENT_QUERY_SORT_BY - how the items should be sorted (String).

CONTENT_QUERY_CONTEXT_PARAMS (optional)- any additional parameters to put into the content search (Map).

In addition either of these properties should be specified. Failure to specify either of these properties will result in an empty content query being returned. CONTENT_QUERY_NODE - the content query (as XML) to execute (ContentQueryAdvice).

CONTENT_QUERY_STRING - the content query (as a String) to execute (String).

Hierarchy
  `Object`
  `AbstractAdvislet`
  `ContentQueryAdvisletImpl`

All Implemented Interfaces
  `AdviceConstants`, `AdviceRequestConstants`, `Advislet`, `AdvisletChainElement`, `Serializable`

## Field Summary

Fields from com.bea.p13n.advisor`.`AbstractAdvislet``
``advisletMetadata`, `advisor`, `parametersMap``

Fields from interface com.bea.p13n.advisor`.`AdviceConstants``
``RESULTS``

Fields from interface com.bea.p13n.advisor`.`AdviceRequestConstants``
``CATALOG_QUERY_WRAPPER`, `CONTENT_APPEND_QUERY_STRING`, `CONTENT_MANAGER`, `CONTENT_MANAGER_HOME`, `CONTENT_QUERY_CONTEXT_PARAMS`, `CONTENT_QUERY_MAX_ITEMS`, `CONTENT_QUERY_NODE`, `CONTENT_QUERY_SORT_BY`, `CONTENT_QUERY_STRING`, `DATE`, `HTTP_REQUEST`, `HTTP_SESSION`, `NOW`, `RULES_FILTER_CLASS`, `RULES_FILTER_CLASS_NAME`, `RULES_INPUT_OBJECTS`, `RULES_RULENAME_TO_FIRE`, `RULES_RULESET_NAME`, `SHOPPING_CART`, `TIME`, `TIME_INSTANT`, `USER``

## Constructor Summary

ContentQueryAdvisletImpl(`Advisor` advisor, `Metadata` metadata)

## Method Summary

`public `Advice`` | `getAdvice`(`AdviceRequest` adviceRequest) This method makes recommendations based the AdviceRequest passed in.
`public `Object`[]` | `getRequiredAttributes`() Returns an array of required attributes for the advislet.

Methods from `com.bea.p13n.advisor.`AbstractAdvislet``
``getAdvisor`, `getMetadata`, `initialize`, `toString`, `validateAdviceRequest``

Methods from class `java.lang.`Object``
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods from interface `com.bea.p13n.advisor.`Advislet``
``getAdvice`, `getRequiredAttributes`, `validateAdviceRequest``

Methods from interface `com.bea.p13n.advisor.`AdvisletChainElement``
``getMetadata`, `initialize``

## Constructor Detail

### ContentQueryAdvisletImpl

    public ContentQueryAdvisletImpl(Advisor advisor,
                                    Metadata metadata)

## Method Detail

### getAdvice(AdviceRequest) Method

    public Advice getAdvice(AdviceRequest adviceRequest)
         throws IllegalArgumentException, AdvisorException

This method makes recommendations based the AdviceRequest passed in.

Overrides
  `AbstractAdvislet.getAdvice(AdviceRequest)`

#### Parameters

adviceRequest
  The AdviceRequest used to make a recommendation.

#### Returns

The advice which contain the recommendations based on the type of request made.

#### Exceptions

``IllegalArgumentException``
``AdvisorException``

### getRequiredAttributes() Method

    public Object[] getRequiredAttributes()

Description copied from `Advislet.getRequiredAttributes()`
Returns an array of required attributes for the advislet. The array contains pairs of items: even items are attribute names while odd items are the Class for the item. This information is used by the Advisor to ensure Advislets are not invoked with invalid parameters. Overide the `validateAdviceRequest``` method to perform additional processing above and beyond attribute type checking.

Overrides
  `AbstractAdvislet.getRequiredAttributes()`

#### Returns

an Object[] that contains the attributes required by the Advislet. The array contains pairs of items: even items are are attribute names while odd items are the Class for the item.