ePages 6.14.0 - DE_EPAGES/RemoteSearch/API/Object/SearchParamBuilder.pm

Package DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder

Class for craeting params for remote search requests. With Method addXXXFilter you can define condition wich must be met by a search query.

Example
my $Builder = DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder->new();
$Builder->addBooleanFilter('IsNew', 1)
->query('Jack')
->lang('en')
->addNumericRangeFilter('Price', 10, 20 );
my $hParams = $Builder->params();

Functions

addBooleanFilter
addNumericRangeFilter
addSimpleFilter
currency
currentPage
lang
new
params
query
resultsPerPage
sortBy

addBooleanFilter

Construct boolean Filter and stores it in the filter list. Any value perl evaluates to true is encoded as 1, all else is 0.

Syntax
$Builder->addBooleanFilter( $Name, $Value );
Example
$Builder->booleanFilter( 'IsNew', 1 );
Input
$Name (String)
attribute name used for filtering
$Value (integer)
value true = 1 or false = 0
Return
$Builder (DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder)
self

addNumericRangeFilter

Construct a numeric range filter and stores is internally. $hOptions must at least contain one of $Min or $Max.
If $Min and $Max is set a closed interval is created [$Min, $Max]. If only on $Min or $Max is set a half open interval is created [$Min, undef] respectively [undef, $Max].

Syntax
$Builder->addNumericRangeFilter( $Name, $Min, $Max );
Input
$Name (String)
Filter name e.g. ShoeSize, length, EUR
$Min (integer)
min - left side of the interval
$Max (integer)
max - right side of the interval
Return
$Builder (DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder)
self

addSimpleFilter

Constructs simple filter and stores it into the filter list.

Syntax
$Builder->addSimpleFilter( $Name, $Value );
Example
$Builder->addSimpleFilter( 'Manufacturer', 'Deuter' );
Input
$Name (String)
attribute name used for filtering
$Value (string)
filter value
Return
$Builder (DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder)
self

currency

Adds currency code to parameters

Syntax
$Builder->currency( $currency );
Example
$Builder->currency( 'EUR' );
Input
$currency (string)
currency code (3-digit)
Return
$Builder (DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder)
self

currentPage

Adds current page number to parameters

Syntax
$Builder->currentPage( $currentPage );
Example
$Builder->currentPage( 2 );
Input
$currentPage (integer)
page number, starting by 0
Return
$Builder (DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder)
self

lang

Adds language code to parameters

Syntax
$Builder->lang( $lang );
Example
$Builder->lang( 'de' );
Input
$lang (string)
language code (2-digit)
Return
$Builder (DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder)
self

new

Standard constructor

Syntax
my $Builder = DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder->new()
Input
%Params (hash)
initial filter params
Return
$Builder (DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder)
object

params

Returns reference of the parameters list stored in this object

Syntax
my $hParams = $Builder->params();
Return
$hParams (hash.ref)
a hash containing params, names are used as keys

query

Adds a query to parameters. Must contain at least on non whitespace character.

Syntax
$Builder->query( $query );
Example
$Builder->query( 'Jack' );
Input
$query (string)
query string
Return
$Builder (DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder)
self

resultsPerPage

sets results per page

Syntax
resultsPerPage( $resultsPerPage );
Input
$resultsPerPage (integer)
number of results per page
Return
$Builder (DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder)
self

sortBy

Adds sorting option to parameters

Syntax
$Builder->sortBy( $orderBy, $orderDesc );
Example
$Builder->sortBy( 'NameOrAlias', 0 );
Input
$orderBy (string)
field to order by
$orderDesc (boolean)
1 for descending, 0 for ascending
Return
$Builder (DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder)
self