Package org.apache.lucene.facet.index
Class CategoryContainer
- java.lang.Object
-
- org.apache.lucene.facet.index.CategoryContainer
-
- All Implemented Interfaces:
Serializable
,Iterable<CategoryAttribute>
public class CategoryContainer extends Object implements Iterable<CategoryAttribute>, Serializable
A container to add categories which are to be introduced toCategoryDocumentBuilder.setCategories(Iterable)
. Categories can be added with Properties.- See Also:
- Serialized Form
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<CategoryPath,CategoryAttribute>
map
-
Constructor Summary
Constructors Constructor Description CategoryContainer()
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CategoryAttribute
addCategory(CategoryAttribute categoryAttribute)
Add an entireCategoryAttribute
.CategoryAttribute
addCategory(CategoryPath categoryPath)
Add a category.CategoryAttribute
addCategory(CategoryPath categoryPath, CategoryProperty property)
Add a category with a property.CategoryAttribute
addCategory(CategoryPath categoryPath, CategoryProperty... properties)
Add a category with multiple properties.void
clear()
Remove all categories.protected void
deserializeCategoryAttribute(ObjectInputStream in)
De-Serialize each of theCategoryAttribute
s from the givenObjectInputStream
.boolean
equals(Object o)
CategoryAttribute
getCategoryAttribute(CategoryPath categoryPath)
Get theCategoryAttribute
this container has for a certain category, ornull
if the category is not in the container.int
hashCode()
Iterator<CategoryAttribute>
iterator()
void
merge(CategoryContainer other)
Add the categories from anotherCategoryContainer
to this one.protected void
serializeCategoryAttribute(ObjectOutputStream out, CategoryAttribute ca)
Serialize each of theCategoryAttribute
s to the givenObjectOutputStream
.
NOTE:CategoryProperty
s areSerializable
, but do not assume that Lucene'sAttribute
s are as wellint
size()
Get the number of categories in the container.String
toString()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Field Detail
-
map
protected transient Map<CategoryPath,CategoryAttribute> map
-
-
Method Detail
-
addCategory
public CategoryAttribute addCategory(CategoryPath categoryPath)
Add a category.- Parameters:
categoryPath
- The path of the category.- Returns:
- The
CategoryAttribute
of the category.
-
addCategory
public CategoryAttribute addCategory(CategoryPath categoryPath, CategoryProperty property)
Add a category with a property.- Parameters:
categoryPath
- The path of the category.property
- The property to associate to the category.- Returns:
- The
CategoryAttribute
of the category.
-
addCategory
public CategoryAttribute addCategory(CategoryPath categoryPath, CategoryProperty... properties)
Add a category with multiple properties.- Parameters:
categoryPath
- The path of the category.properties
- The properties to associate to the category.- Returns:
- The
CategoryAttribute
of the category.
-
addCategory
public CategoryAttribute addCategory(CategoryAttribute categoryAttribute)
Add an entireCategoryAttribute
.- Parameters:
categoryAttribute
- TheCategoryAttribute
to add.- Returns:
- The
CategoryAttribute
of the category (could be different from the one provided).
-
getCategoryAttribute
public CategoryAttribute getCategoryAttribute(CategoryPath categoryPath)
Get theCategoryAttribute
this container has for a certain category, ornull
if the category is not in the container.- Parameters:
categoryPath
- The category path of the requested category.
-
iterator
public Iterator<CategoryAttribute> iterator()
- Specified by:
iterator
in interfaceIterable<CategoryAttribute>
-
clear
public void clear()
Remove all categories.
-
merge
public void merge(CategoryContainer other)
Add the categories from anotherCategoryContainer
to this one.
-
size
public int size()
Get the number of categories in the container.- Returns:
- The number of categories in the container.
-
serializeCategoryAttribute
protected void serializeCategoryAttribute(ObjectOutputStream out, CategoryAttribute ca) throws IOException
Serialize each of theCategoryAttribute
s to the givenObjectOutputStream
.
NOTE:CategoryProperty
s areSerializable
, but do not assume that Lucene'sAttribute
s are as well- Throws:
IOException
-
deserializeCategoryAttribute
protected void deserializeCategoryAttribute(ObjectInputStream in) throws IOException, ClassNotFoundException
De-Serialize each of theCategoryAttribute
s from the givenObjectInputStream
.- Throws:
IOException
ClassNotFoundException
-
-