com.browseengine.bobo.facets
Class FacetHandler<D>

java.lang.Object
  extended by com.browseengine.bobo.facets.FacetHandler<D>
Direct Known Subclasses:
BucketFacetHandler, ComboFacetHandler, CompactMultiValueFacetHandler, FilteredRangeFacetHandler, GeoFacetHandler, MultiValueFacetHandler, PathFacetHandler, RangeFacetHandler, RuntimeFacetHandler, SimpleFacetHandler, SimpleGroupbyFacetHandler

public abstract class FacetHandler<D>
extends Object

FacetHandler definition


Nested Class Summary
static class FacetHandler.FacetDataNone
           
static class FacetHandler.TermCountSize
           
 
Field Summary
protected  String _name
           
 
Constructor Summary
FacetHandler(String name)
          Constructor
FacetHandler(String name, Set<String> dependsOn)
          Constructor
 
Method Summary
 RandomAccessFilter buildFilter(BrowseSelection sel)
          Gets a filter from a given selection
 RandomAccessFilter buildRandomAccessAndFilter(String[] vals, Properties prop)
           
abstract  RandomAccessFilter buildRandomAccessFilter(String value, Properties selectionProperty)
           
 RandomAccessFilter buildRandomAccessOrFilter(String[] vals, Properties prop, boolean isNot)
           
 Object clone()
           
 FacetHandler<?> getDependedFacetHandler(String name)
          Gets a depended facet handler
 Set<String> getDependsOn()
          Gets names of the facet handler this depends on
abstract  DocComparatorSource getDocComparatorSource()
          builds a comparator to determine how sorting is done
abstract  FacetCountCollectorSource getFacetCountCollectorSource(BrowseSelection sel, FacetSpec fspec)
          Gets a FacetCountCollector
 FacetCountCollectorSource getFacetCountCollectorSource(BrowseSelection sel, FacetSpec ospec, boolean groupMode)
          Override this method if your facet handler have a better group mode like the SimpleFacetHandler.
 D getFacetData(BoboIndexReader reader)
           
 String getFieldValue(BoboIndexReader reader, int id)
          Gets a single field value
abstract  String[] getFieldValues(BoboIndexReader reader, int id)
          Gets the field value
 String getName()
          Gets the name
 Object[] getRawFieldValues(BoboIndexReader reader, int id)
           
 FacetHandler.TermCountSize getTermCountSize()
           
abstract  D load(BoboIndexReader reader)
          Load information from an index reader, initialized by BoboIndexReader
 D load(BoboIndexReader reader, BoboIndexReader.WorkArea workArea)
           
 void loadFacetData(BoboIndexReader reader)
           
 void loadFacetData(BoboIndexReader reader, BoboIndexReader.WorkArea workArea)
           
 FacetAccessible merge(FacetSpec fspec, List<FacetAccessible> facetList)
           
 void putDependedFacetHandler(FacetHandler<?> facetHandler)
          Adds a list of depended facet handlers
 void setTermCountSize(FacetHandler.TermCountSize termCountSize)
           
 void setTermCountSize(String termCountSize)
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_name

protected final String _name
Constructor Detail

FacetHandler

public FacetHandler(String name,
                    Set<String> dependsOn)
Constructor

Parameters:
name - name
dependsOn - Set of names of facet handlers this facet handler depend on for loading

FacetHandler

public FacetHandler(String name)
Constructor

Parameters:
name - name
Method Detail

setTermCountSize

public void setTermCountSize(String termCountSize)

setTermCountSize

public void setTermCountSize(FacetHandler.TermCountSize termCountSize)

getTermCountSize

public FacetHandler.TermCountSize getTermCountSize()

getName

public final String getName()
Gets the name

Returns:
name

getDependsOn

public final Set<String> getDependsOn()
Gets names of the facet handler this depends on

Returns:
set of facet handler names

putDependedFacetHandler

public final void putDependedFacetHandler(FacetHandler<?> facetHandler)
Adds a list of depended facet handlers

Parameters:
facetHandler - depended facet handler

getDependedFacetHandler

public final FacetHandler<?> getDependedFacetHandler(String name)
Gets a depended facet handler

Parameters:
name - facet handler name
Returns:
facet handler instance

load

public abstract D load(BoboIndexReader reader)
                throws IOException
Load information from an index reader, initialized by BoboIndexReader

Parameters:
reader - reader
Throws:
IOException

merge

public FacetAccessible merge(FacetSpec fspec,
                             List<FacetAccessible> facetList)

getFacetData

public D getFacetData(BoboIndexReader reader)

load

public D load(BoboIndexReader reader,
              BoboIndexReader.WorkArea workArea)
       throws IOException
Throws:
IOException

loadFacetData

public void loadFacetData(BoboIndexReader reader,
                          BoboIndexReader.WorkArea workArea)
                   throws IOException
Throws:
IOException

loadFacetData

public void loadFacetData(BoboIndexReader reader)
                   throws IOException
Throws:
IOException

buildFilter

public final RandomAccessFilter buildFilter(BrowseSelection sel)
                                     throws IOException
Gets a filter from a given selection

Parameters:
sel - selection
Returns:
a filter
Throws:
IOException
IOException

buildRandomAccessFilter

public abstract RandomAccessFilter buildRandomAccessFilter(String value,
                                                           Properties selectionProperty)
                                                    throws IOException
Throws:
IOException

buildRandomAccessAndFilter

public RandomAccessFilter buildRandomAccessAndFilter(String[] vals,
                                                     Properties prop)
                                              throws IOException
Throws:
IOException

buildRandomAccessOrFilter

public RandomAccessFilter buildRandomAccessOrFilter(String[] vals,
                                                    Properties prop,
                                                    boolean isNot)
                                             throws IOException
Throws:
IOException

getFacetCountCollectorSource

public abstract FacetCountCollectorSource getFacetCountCollectorSource(BrowseSelection sel,
                                                                       FacetSpec fspec)
Gets a FacetCountCollector

Parameters:
sel - selection
fspec - facetSpec
Returns:
a FacetCountCollector

getFacetCountCollectorSource

public FacetCountCollectorSource getFacetCountCollectorSource(BrowseSelection sel,
                                                              FacetSpec ospec,
                                                              boolean groupMode)
Override this method if your facet handler have a better group mode like the SimpleFacetHandler.


getFieldValues

public abstract String[] getFieldValues(BoboIndexReader reader,
                                        int id)
Gets the field value

Parameters:
id - doc
reader - index reader
Returns:
array of field values
See Also:
getFieldValue(BoboIndexReader,int)

getRawFieldValues

public Object[] getRawFieldValues(BoboIndexReader reader,
                                  int id)

getFieldValue

public String getFieldValue(BoboIndexReader reader,
                            int id)
Gets a single field value

Parameters:
id - doc
reader - index reader
Returns:
first field value
See Also:
getFieldValues(BoboIndexReader,int)

getDocComparatorSource

public abstract DocComparatorSource getDocComparatorSource()
builds a comparator to determine how sorting is done

Returns:
a sort comparator

clone

public Object clone()
             throws CloneNotSupportedException
Overrides:
clone in class Object
Throws:
CloneNotSupportedException


Copyright © 2011. All Rights Reserved.