com.endeca.navigation
Class Navigation

java.lang.Object
  extended by com.endeca.navigation.Navigation

public class Navigation
extends Object

Top level object returned from an Endeca MDEX Engine. The Navigation object serves as a container for several components (such as navigation descriptors, record set, etc.) that together compose a navigation,

A Navigation object is defined by the set of dimension values that were used to query an MDEX Engine to obtain the Navigation object. Those values are in the context of a Navigation object defined as descriptors, the values that describe the navigation query.

In addition, several other objects compose to make a dimension. The records which are the records that meet the query descriptor criteria. The aggregated records which are the same records but rolled up by a certain criteria. The various keys which describe options and operations available on the records. The refinements which are the navigational options that are available to refine the query.

The refinements and the descriptors are broken up by their individual dimensions. There is a third set of dimensions called the integrated dimensions which are the union of the refinment and descriptor dimensions. Lastly all three sets of dimensions are available consolidated by their dimensions groups via the getRefinementDimGroups, getDescriptorDimGroups, and getIntegratedDimGroups methods.


Method Summary
 ERecSortKeyList getActiveSortKeys()
          Gets the sort keys in use for this navigation.
 AggrERecList getAggrERecs()
          Gets the composite records associated with this navigation query, which come from the original records consolidated by a rollup key.
 long getAggrERecsOffset()
          Gets the offset of the first aggregated record in the aggregated record list with respect to the total number of aggregated records in the dataset that match this navigation query.
 String getAnalyticsQueryError()
          Gets the error message, if any, associated with the evaluation of the Analytics portion of the query results.
 SortedSet getAnalyticsStatementNames()
          Get the set of statement names included in the Analytics results associated with this Navigation.
 AnalyticsStatementResult getAnalyticsStatementResult(String name)
          Gets an AnalyticsStatementResult that provides access to the data associated with the named Analytics query.
 Iterator getBulkAggrERecIter()
          Gets an Iterator that provides access to the bulk composite records associated with this navigation query, which come from the original records consolidated by a rollup key.
 Iterator getBulkERecIter()
          Gets an Iterator that provides access to the bulk records associated with this navigation query.
 DimensionList getCompleteDimensions()
          Gets the complete dimensions integrated from the refinement dimensions, the descriptor dimensions, and those that are completely implicit.
 DimGroupList getCompleteDimGroups()
          Gets the dimension groups of the complete dimensions integrated from the refinement dimensions, the descriptor dimensions, and those that are completely implicit.
 DimensionList getDescriptorDimensions()
          Gets the dimensions for the descriptors for this navigation.
 DimGroupList getDescriptorDimGroups()
          Gets the dimension groups of the dimensions for the descriptors for this navigation.
 ERecCompoundSearchKeyList getERecCompoundSearchKeys()
          Gets the text search group keys applicable for this navigation.
 ERecList getERecs()
          Gets the records associated with this navigation query.
 ERecSearchKeyList getERecSearchKeys()
          Gets the text search keys applicable for this navigation.
 long getERecsOffset()
          Gets the offset of the first record in the endeca record list with respect to the total number of records in the dataset that match this navigation query.
 Map getESearchReports()
          Gets the Map of ESearchReports for this navigation query result.
 Map getESearchReportsComplete()
          Gets the Map of Lists of ESearchReports for this navigation query result.
 DimensionList getIntegratedDimensions()
          Gets the dimensions integrated from the refinement dimensions and the descriptor dimensions.
 DimGroupList getIntegratedDimGroups()
          Gets the dimension groups of the dimensions integrated from the refinement and descriptor dimensions.
 Map getKeyProperties()
          Gets the Map of KeyProperties for this navigation query result.
 RangeFilterList getRangeFilters()
          Gets the range filters applied to this navigation query result.
 DimensionList getRefinementDimensions()
          Gets the dimensions of that still have refinements available with respect to this query.
 DimGroupList getRefinementDimGroups()
          Gets the dimension groups of the dimensions that still have refinements available with respect to this navigation query.
 ERecRollupKeyList getRollupKeys()
          Gets the rollup keys applicable for this navigation.
 ERecSortKeyList getSortKeys()
          Gets the sort keys applicable for this navigation.
 SupplementList getSupplements()
          Gets the supplements to this navigation query result.
 long getTotalNumAggrERecs()
          Gets the total number of aggregated records matching navigation query.
 long getTotalNumERecs()
          Gets the total number of records matching navigation query.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getERecs

public ERecList getERecs()
Gets the records associated with this navigation query.

Returns:
The records of this navigation query. If no records are part of the navigation an empty ERecList is still returned.

getBulkAggrERecIter

public Iterator getBulkAggrERecIter()
Gets an Iterator that provides access to the bulk composite records associated with this navigation query, which come from the original records consolidated by a rollup key.

Returns:
The bulk aggregated records of this navigation query through an Iterator interface. If no bulk aggregated records have been requested (i.e. if setNavNumBulkAggrERecs has not been called with a non-zero argument), a null Iterator is returned.

getBulkERecIter

public Iterator getBulkERecIter()
Gets an Iterator that provides access to the bulk records associated with this navigation query.

Returns:
The bulk records of this navigation query through an Iterator interface. If no bulk records have been requested (i.e. if setNavNumBulkERecs has not been called with a non-zero argument), a null Iterator is returned.

getAnalyticsStatementNames

public SortedSet getAnalyticsStatementNames()
Get the set of statement names included in the Analytics results associated with this Navigation.

Returns:
A Set containing the String names of Analytics results associated with this Navigation, in alphabetical order. If no Analytics results are available, an empty Set is returned.

getAnalyticsQueryError

public String getAnalyticsQueryError()
Gets the error message, if any, associated with the evaluation of the Analytics portion of the query results. This method reports any errors that span multiple statements; it does NOT report errors relating to an individual statement.

Returns:
The String error message, or null if no error was encountered.

getAnalyticsStatementResult

public AnalyticsStatementResult getAnalyticsStatementResult(String name)
Gets an AnalyticsStatementResult that provides access to the data associated with the named Analytics query.

Returns:
The AnalyticsStatementResult for the named query. If results for the named Analytics query does not exist, then null is returned.

getAggrERecs

public AggrERecList getAggrERecs()
Gets the composite records associated with this navigation query, which come from the original records consolidated by a rollup key.

Returns:
The aggregated records of this navigation query. If no aggregated records are available an emtpy AggrERecList is returned.

getERecsOffset

public long getERecsOffset()
Gets the offset of the first record in the endeca record list with respect to the total number of records in the dataset that match this navigation query.

Returns:
Offset of the first record in the endeca record list with respect to the records in the navigation query result. Also returns 0 if no records are in result.

getAggrERecsOffset

public long getAggrERecsOffset()
Gets the offset of the first aggregated record in the aggregated record list with respect to the total number of aggregated records in the dataset that match this navigation query.

Returns:
Offset of the first aggregated record in the endeca record list with respect to the aggregated records in the navigation query result. Also returns 0 if no aggregated records are in result.

getTotalNumERecs

public long getTotalNumERecs()
Gets the total number of records matching navigation query. While a navigation may contain records often a navigation object does not contain all the records in the navigation.

Returns:
Total number of records in this navigation query.

getTotalNumAggrERecs

public long getTotalNumAggrERecs()
Gets the total number of aggregated records matching navigation query. While a navigation may contain aggregated records often a navigation object does not contain all the aggregated records in the navigation.

Returns:
Total number of aggregated records in this navigation query.

getSortKeys

public ERecSortKeyList getSortKeys()
Gets the sort keys applicable for this navigation. Method will always return a ERecSortKeyList, but the list may be empty if no sort keys are present.

Returns:
Sort keys of this navigation. Even if there are no sort keys, a valid ERecSortKeyList will be returned.

getActiveSortKeys

public ERecSortKeyList getActiveSortKeys()
Gets the sort keys in use for this navigation. This differs from getSortKeys() because this method returns only those sort keys that were actually used for sorting the records returned in this naviagation, while getSortKeys() returns all keys marked as sortable in the Endeca Developer Studio.

Returns:
Sort keys used in this navigation. The keys will be in order according to their order of application. May return an empty list.

getRollupKeys

public ERecRollupKeyList getRollupKeys()
Gets the rollup keys applicable for this navigation. Method will always return a ERecRollupKeyList, but the list may be empty if no rollup keys are present.

Returns:
Rollup keys of this navigation. Even if there are no rollup keys, a valid ERecRollupKeyList will be returned.

getERecSearchKeys

public ERecSearchKeyList getERecSearchKeys()
Gets the text search keys applicable for this navigation. Method will always return an ERecSearchKeyList, but the list may be empty if no text search keys are present.

Returns:
Text search keys of this navigation. Even if there are no rollup keys, a valid ERecSearchKeyList will be returned.

getERecCompoundSearchKeys

public ERecCompoundSearchKeyList getERecCompoundSearchKeys()
Gets the text search group keys applicable for this navigation. Method will always return an ERecCompoundSearchKeyList, but the list may be empty if no text search group keys are present.

Returns:
Text search group keys of this navigation. Even if there are no rollup group keys, a valid ERecCompoundSearchKeyList will be returned.

getRangeFilters

public RangeFilterList getRangeFilters()
Gets the range filters applied to this navigation query result. Method will always return a RangeFilterList, but the list may be empty if no range filters were applied.

Returns:
RangeFilters applied on this navigation object. A valid RangeFilterList will always be returned.

getDescriptorDimensions

public DimensionList getDescriptorDimensions()
Gets the dimensions for the descriptors for this navigation. The descriptors are the set of dimension values that formulate the query that limit the record results of this navigation query. If there are no descriptors, an empty dimension list will be returned. Unlike all other dimension collections presented by the navigation, this collection is NOT in dimension order. Instead this collection IS presented in descriptor order specified by the navigation descriptors of the query, which in turn is most likely generated from ENEQueryToolkit.selectRefinement which places the descriptors in selection order, that is the order with which the user made their selections.

Returns:
The dimensions of the descriptors of this navigation query.

getDescriptorDimGroups

public DimGroupList getDescriptorDimGroups()
Gets the dimension groups of the dimensions for the descriptors for this navigation. Similar to getDescriptorDimensions() except that the dimensions are grouped by their dimension groups. Returns an empty dimension group list if there are no descriptors. Unlike the descriptor dimensions, these dim groups are presented in MDEX Engine determined dimension order as opposed to the query specified descriptor order.

Returns:
The dimension groups of the dimensions of the descriptors.

getRefinementDimensions

public DimensionList getRefinementDimensions()
Gets the dimensions of that still have refinements available with respect to this query. The dimensions contained by the list each have refinement options available that refine the record set do at least one record. Returns an empty dimension list if there are no more refinements available for this navigation query. The dimensions are in MDEX Engine determined dimension order.

Returns:
The dimension groups of the dimensions that still have refinements available.

getRefinementDimGroups

public DimGroupList getRefinementDimGroups()
Gets the dimension groups of the dimensions that still have refinements available with respect to this navigation query. This list is analgous to getRefinementDimensions except that they are grouped by their dimension groups. Returns an empty dimension group list if there are no more refinements available. The dimension groups are in MDEX Engine determined order where the group with the highest ranking dimension is persented first and so on.

Returns:
The dimension groups of the dimensions that still have refinements available.

getIntegratedDimensions

public DimensionList getIntegratedDimensions()
Gets the dimensions integrated from the refinement dimensions and the descriptor dimensions. That is, integrated dimensions are the dimensions that either have descriptors or still have refinement values relative to the navigation query. Returns an empty set if there are neither refinement nor descriptor dimensions. The integrated dimensions are in dimension order specified by the MDEX Engine.

Returns:
The union of the descriptor and refinement dimensions.

getIntegratedDimGroups

public DimGroupList getIntegratedDimGroups()
Gets the dimension groups of the dimensions integrated from the refinement and descriptor dimensions. This is analgous to getIntegratedDimensions except that the dimensions are consolidated by DimGroup. Returns an empty set if there are neither refinement nor descriptor dimensions. The dimension groups are in dimension group order determined by the MDEX Engine where the dimension group with the highest ranking dimension is placed first and so on.

Returns:
The descriptor groups of the dimensions unioned from the descriptor and refinement dimensions.

getCompleteDimensions

public DimensionList getCompleteDimensions()
Gets the complete dimensions integrated from the refinement dimensions, the descriptor dimensions, and those that are completely implicit. That is, complete dimensions are the dimensions that either have descriptors, still have refinement values relative to the navigation query, or only contain implicits. The integrated dimensions are in dimension order specified by the MDEX Engine.

Returns:
The union of the descriptor, refinement and implicit dimensions.

getCompleteDimGroups

public DimGroupList getCompleteDimGroups()
Gets the dimension groups of the complete dimensions integrated from the refinement dimensions, the descriptor dimensions, and those that are completely implicit. This is analgous to getCompleteDimensions except that the dimensions are consolidated by DimGroup. That is, complete dimensions are the dimensions that either have descriptors, still have refinement values relative to the navigation query, or only contain implicits. The integrated dimensions are in dimension order specified by the MDEX Engine.

Returns:
The dimension groups of the dimensions unioned from the descriptor, refinement and implicit dimensions.

getSupplements

public SupplementList getSupplements()
Gets the supplements to this navigation query result. Returns an empty set if there are no supplements.

Returns:
The supplements of this navigation.

getESearchReports

public Map getESearchReports()
Gets the Map of ESearchReports for this navigation query result. Returns an empty set if there are no ESearchReports.

Returns:
A Map of ESearchReport, keyed by the search term.

getESearchReportsComplete

public Map getESearchReportsComplete()
Gets the Map of Lists of ESearchReports for this navigation query result. Returns an empty set if there are no ESearchReports.

Returns:
A Map of Lists of ESearchReport, keyed by the search term.

getKeyProperties

public Map getKeyProperties()
Gets the Map of KeyProperties for this navigation query result. Returns null if KeyProperties were not requested.

Returns:
A Map of KeyProperties objects, keyed by the String name for the key.


2010 Endeca Technologies, Inc.
Endeca Confidential