Package org.apache.lucene.facet.taxonomy
Class CategoryPath
- java.lang.Object
-
- org.apache.lucene.facet.taxonomy.CategoryPath
-
- All Implemented Interfaces:
java.lang.Comparable<CategoryPath>
public class CategoryPath extends java.lang.Object implements java.lang.Comparable<CategoryPath>
Holds a sequence of string components, specifying the hierarchical name of a category.
-
-
Field Summary
Fields Modifier and Type Field Description java.lang.String[]componentsThe components of thisCategoryPath.static CategoryPathEMPTYAn emptyCategoryPathintlengthThe number of components of thisCategoryPath.
-
Constructor Summary
Constructors Constructor Description CategoryPath(java.lang.String... components)Construct from the given path components.CategoryPath(java.lang.String pathString, char delimiter)Construct from a given path, separating path components withdelimiter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(CategoryPath other)Compares this path with anotherCategoryPathfor lexicographic order.intcopyFullPath(char[] buf, int start, char delimiter)Copies the path components to the givenchar[], starting at indexstart.booleanequals(java.lang.Object obj)intfullPathLength()Returns the number of characters needed to represent the path, including delimiter characters, for using withcopyFullPath(char[], int, char).inthashCode()longlongHashCode()Calculate a 64-bit hash function for this path.CategoryPathsubpath(int length)Returns a sub-path of this path up tolengthcomponents.java.lang.StringtoString()Returns a string representation of the path, separating components with '/'.java.lang.StringtoString(char delimiter)Returns a string representation of the path, separating components with the given delimiter.
-
-
-
Field Detail
-
EMPTY
public static final CategoryPath EMPTY
An emptyCategoryPath
-
components
public final java.lang.String[] components
The components of thisCategoryPath. Note that this array may be shared with otherCategoryPathinstances, e.g. as a result ofsubpath(int), therefore you should traverse the array up tolengthfor this path's components.
-
length
public final int length
The number of components of thisCategoryPath.
-
-
Method Detail
-
fullPathLength
public int fullPathLength()
Returns the number of characters needed to represent the path, including delimiter characters, for using withcopyFullPath(char[], int, char).
-
compareTo
public int compareTo(CategoryPath other)
Compares this path with anotherCategoryPathfor lexicographic order.- Specified by:
compareToin interfacejava.lang.Comparable<CategoryPath>
-
copyFullPath
public int copyFullPath(char[] buf, int start, char delimiter)Copies the path components to the givenchar[], starting at indexstart.delimiteris copied between the path components. Returns the number of chars copied.NOTE: this method relies on the array being large enough to hold the components and separators - the amount of needed space can be calculated with
fullPathLength().
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
longHashCode
public long longHashCode()
Calculate a 64-bit hash function for this path.
-
subpath
public CategoryPath subpath(int length)
Returns a sub-path of this path up tolengthcomponents.
-
toString
public java.lang.String toString()
Returns a string representation of the path, separating components with '/'.- Overrides:
toStringin classjava.lang.Object- See Also:
toString(char)
-
toString
public java.lang.String toString(char delimiter)
Returns a string representation of the path, separating components with the given delimiter.
-
-