Antidot PHP API  version 0.16.0
##PHP API to simplify integration of Antidot components
 All Classes Files Functions Variables Groups Pages
Public Member Functions | List of all members
AfsFacetManager Class Reference

AFS facet manager. More...

Public Member Functions

 __construct (AfsFacetManager $other=null)
 Constructs new facet facet manager.
Global facet management
 set_default_facets_mode ($mode)
 Defines default facet mode.
 get_default_facets_mode ()
 Retrieves default facet mode.
 get_default_stickyness ()
 Retrieves default stickyness of all facets.
 set_facet_order (array $ids, $mode)
 Defines facet sort order.
 is_facet_order_strict ()
 Checks whether facet sort order is set to strict mode.
 set_facets_values_sort_order ($mode, $order)
 Defines sort order for all facet values.
 set_facet_values_sort_order ($facet_id, $mode, $order)
 Defines values sort order for one specific facet id.
 has_facets_values_sort_order ()
 Checks whether specific sort order has been defined on facet values.
 get_facets_values_sort_order ()
 Retrieves sort order defined on facet values.
Fine grained facet management
 set_facets_mode ($mode, $ids)
 Defines facet mode for one or more facets.
 add_facet (AfsFacet $facet)
 Adds new facet configuration to manager.
 check_facet (AfsFacet $facet)
 Checks whether provided facet exists and has right parameters.
 check_or_add_facet ($facet)
 Checks or adds provided facet.
 has_facets ()
 Checks whether at least one facet is defined.
 get_facets ()
 Retrieves all facets.
 has_facet ($name)
 Checks whether facet with provided name has already been defined.
 get_facet ($name)
 Retrieves specific facet parameters.
 get_or_create_facet ($name)
 Retrieves facet, creates it first if it deos not exist.
 format ()
Internal helpers
 is_sticky (AfsFacet $facet)
 Checks whether provided facet is sticky or not.
 copy ()
 Copies current instance.

Detailed Description

AFS facet manager.

Add some control over configured facets:

Constructor & Destructor Documentation

__construct ( AfsFacetManager  $other = null)

Constructs new facet facet manager.

Parameters
$other[in] Instance used to initialize new one (default: creates new instance with default parameters).

Member Function Documentation

add_facet ( AfsFacet  $facet)

Adds new facet configuration to manager.

The order of added facets influences the order of the facets in AFS output reply stream.

Parameters
$facet[in] New facet to manage.
Exceptions
InvalidArgumentExceptionfacet with same id is already registered.
check_facet ( AfsFacet  $facet)

Checks whether provided facet exists and has right parameters.

Currently configured facet is updated with parameters of the given facet when it is necessary (update facet mode, facet type...)

Parameters
$facet[in] Facet to test.
Exceptions
AfsUndefinedFacetExceptionprovided facet is not currently managed.
AfsInvalidFacetParameterExceptionprovided facet does not match currently defined parameters.
check_or_add_facet (   $facet)

Checks or adds provided facet.

If facet of the same id is already managed, this method check that associated parameters are of the good type. Otherwise, the facet is appended to the list of managed facets.

Parameters
$facet[in] facet to check/add.
Exceptions
AfsInvalidFacetParameterExceptionwhen provided facet is incompatible with the one currently registered with same id.
copy ( )

Copies current instance.

Returns
new instance, copy of current one.
get_default_facets_mode ( )

Retrieves default facet mode.

Returns
facet mode (see AfsFacetMode for more details)
get_default_stickyness ( )

Retrieves default stickyness of all facets.

Returns
true when facets should be sticky, false otherwise.
get_facet (   $name)

Retrieves specific facet parameters.

Parameters
$name[in] facet name to look for.
Returns
AfsFacet instance with required name.
Exceptions
OutOfBoundsExceptionwhen no facet with required name is defined.
get_facets ( )

Retrieves all facets.

Returns
all managed facets.
get_facets_values_sort_order ( )

Retrieves sort order defined on facet values.

Returns
sort order or null when no sort sorder has been set.
get_or_create_facet (   $name)

Retrieves facet, creates it first if it deos not exist.

When necessary, facet is created using default configuration parameters.

Parameters
$name[in] Facet identifier.
Returns
facet with appropriate identifier.
has_facet (   $name)

Checks whether facet with provided name has already been defined.

Parameters
$name[in] name of the facet to check.
Returns
True when facet with provided name is already defined, false otherwise.
has_facets ( )

Checks whether at least one facet is defined.

Returns
true when one or more facet is defined, false otherwise.
has_facets_values_sort_order ( )

Checks whether specific sort order has been defined on facet values.

Returns
True when specific sort order has been defined, false otherwise.
is_facet_order_strict ( )

Checks whether facet sort order is set to strict mode.

Returns
true when facet sort order mode is strict, false otherwise.
is_sticky ( AfsFacet  $facet)

Checks whether provided facet is sticky or not.

If facet mode is undefined, rely on default facet mode to determine whether the facet is sticky or not.

Parameters
$facet[in] Facet for which mode should be determined.
Returns
true when the facet is considered as sticky, false otherwise.
set_default_facets_mode (   $mode)

Defines default facet mode.

By default, facet mode is set to AfsFacetMode::OR_MODE.

Parameters
$mode[in] Facet mode, see AfsFacetMode for more details.
Exceptions
InvalidArgumentExceptionwhen provided mode is invalid.
set_facet_order ( array  $ids,
  $mode 
)

Defines facet sort order.

Parameters
$ids[in] List of facet identifiers in the right sort order.
$mode[in] Sort order mode (see AfsFacetOrder for more details).
set_facet_values_sort_order (   $facet_id,
  $mode,
  $order 
)

Defines values sort order for one specific facet id.

AFS search default sort for facet values is alphanumeric. This method allows to change this behaviour.

Parameters
$facet_id[in] id of facet to configure
$mode[in] Sort mode (see AfsFacetValuesSortMode).
$order[in] Sort order (see AfsSortOrder).
Exceptions
InvalidArgumentExceptionwhen $mode or $order is invalid.
set_facets_mode (   $mode,
  $ids 
)

Defines facet mode for one or more facets.

Parameters
$mode[in] Facet mode to set (see AfsFacetMode for more details).
$ids[in] Identifier(s) of the facet(s).
Exceptions
InvalidArgumentExceptionwhen provided mode is invalid.
set_facets_values_sort_order (   $mode,
  $order 
)

Defines sort order for all facet values.

AFS search default sort for facet values is alphanumeric. This method allows to change this behaviour.

Parameters
$mode[in] Sort mode (see AfsFacetValuesSortMode).
$order[in] Sort order (see AfsSortOrder).
Exceptions
InvalidArgumentExceptionwhen $mode or $order is invalid.