|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface CategoryEnhancement
This interface allows easy addition of enhanced category features. Usually, a
CategoryEnhancement
will correspond to a CategoryProperty
.
A category enhancement can contribute to the index in two possible ways:
getCategoryTokenBytes(CategoryAttribute)
. This data will be read
during search using extractCategoryTokenData(byte[], int, int)
.CategoryListTokenizer
through
getCategoryListTokenizer(TokenStream, EnhancementsIndexingParams, TaxonomyWriter)
. The CategoryListTokenizer
should add a single token which includes
all the enhancement relevant data from the categories. The category list
token's text is defined by getCategoryListTermText()
.
Method Summary | |
---|---|
boolean |
equals(Object o)
Category enhancements must override Object.equals(Object) , as it is
used in
EnhancementsPayloadIterator.getCategoryData(CategoryEnhancement) . |
Object |
extractCategoryTokenData(byte[] buffer,
int offset,
int length)
Get the data of this enhancement from a category token payload. |
boolean |
generatesCategoryList()
Declarative method to indicate whether this enhancement generates separate category list. |
String |
getCategoryListTermText()
Returns the text of this enhancement's category list term. |
CategoryListTokenizer |
getCategoryListTokenizer(TokenStream tokenizer,
EnhancementsIndexingParams indexingParams,
TaxonomyWriter taxonomyWriter)
Get the CategoryListTokenizer which generates the category list for
this enhancement. |
byte[] |
getCategoryTokenBytes(CategoryAttribute categoryAttribute)
Get the bytes to be added to the category token payload for this enhancement. |
Class<? extends CategoryProperty> |
getRetainableProperty()
Get a CategoryProperty class to be retained when creating
CategoryParentsStream . |
Method Detail |
---|
byte[] getCategoryTokenBytes(CategoryAttribute categoryAttribute)
NOTE: The returned array is copied, it is recommended to allocate a new one each time.
The bytes generated by this method are the input of
extractCategoryTokenData(byte[], int, int)
.
categoryAttribute
- The attribute of the category.
Object extractCategoryTokenData(byte[] buffer, int offset, int length)
The input bytes for this method are generated in
getCategoryTokenBytes(CategoryAttribute)
.
buffer
- The payload buffer.offset
- The offset of this enhancement's data in the buffer.length
- The length of this enhancement's data (bytes).
boolean generatesCategoryList()
true
if generates category list, else false
.String getCategoryListTermText()
CategoryListTokenizer getCategoryListTokenizer(TokenStream tokenizer, EnhancementsIndexingParams indexingParams, TaxonomyWriter taxonomyWriter)
CategoryListTokenizer
which generates the category list for
this enhancement. If generatesCategoryList()
returns false
this method will not be called.
tokenizer
- The input stream containing categories.indexingParams
- The indexing params to use.taxonomyWriter
- The taxonomy to add categories and get their ordinals.
CategoryListTokenizer
generating the category list for
this enhancement, with tokenizer
as it's input.Class<? extends CategoryProperty> getRetainableProperty()
CategoryProperty
class to be retained when creating
CategoryParentsStream
.
CategoryProperty
class to be retained when creating
CategoryParentsStream
, or null
if there is no such
property.boolean equals(Object o)
Object.equals(Object)
, as it is
used in
EnhancementsPayloadIterator.getCategoryData(CategoryEnhancement)
.
equals
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |