org.apache.lucene.facet.index.categorypolicy
Class NonTopLevelOrdinalPolicy

java.lang.Object
  extended by org.apache.lucene.facet.index.categorypolicy.NonTopLevelOrdinalPolicy
All Implemented Interfaces:
Serializable, OrdinalPolicy

public class NonTopLevelOrdinalPolicy
extends Object
implements OrdinalPolicy

Filter out any "top level" category ordinals.
shouldAdd(int).

See Also:
Serialized Form
WARNING: This API is experimental and might change in incompatible ways in the next release.

Constructor Summary
NonTopLevelOrdinalPolicy()
          Constructs a new non-top-level-ordinal-filter.
 
Method Summary
 void init(TaxonomyWriter taxonomyWriter)
          Initialize the policy with a TaxonomyWriter.
 boolean shouldAdd(int ordinal)
          Filters out ordinal which are ROOT or who's parent is ROOT.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NonTopLevelOrdinalPolicy

public NonTopLevelOrdinalPolicy()
Constructs a new non-top-level-ordinal-filter. With a given taxonomyWriter.

Method Detail

init

public void init(TaxonomyWriter taxonomyWriter)
Description copied from interface: OrdinalPolicy
Initialize the policy with a TaxonomyWriter. This method can be implemented as noop if the ordinal policy is not taxonomy dependent

Specified by:
init in interface OrdinalPolicy
Parameters:
taxonomyWriter - A relevant taxonomyWriter object, with which ordinals sent to shouldAdd(int) are examined.

shouldAdd

public boolean shouldAdd(int ordinal)
Filters out ordinal which are ROOT or who's parent is ROOT. In order to determine if a parent is root, there's a need for TaxonomyWriter.getParent(int).

Specified by:
shouldAdd in interface OrdinalPolicy
Parameters:
ordinal - A given category ordinal which is to be tested for stream addition.
Returns:
true if the category should be added. false otherwise.