org.apache.lucene.facet.taxonomy
Class CategoryPath

java.lang.Object
  extended by org.apache.lucene.facet.taxonomy.CategoryPath
All Implemented Interfaces:
Comparable<CategoryPath>

public class CategoryPath
extends Object
implements Comparable<CategoryPath>

Holds a sequence of string components, specifying the hierarchical name of a category.

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

Field Summary
 String[] components
          The components of this CategoryPath.
static CategoryPath EMPTY
          An empty CategoryPath
 int length
          The number of components of this CategoryPath.
 
Constructor Summary
CategoryPath(String... components)
          Construct from the given path components.
CategoryPath(String pathString, char delimiter)
          Construct from a given path, separating path components with delimiter.
 
Method Summary
 int compareTo(CategoryPath other)
          Compares this path with another CategoryPath for lexicographic order.
 int copyFullPath(char[] buf, int start, char delimiter)
          Copies the path components to the given char[], starting at index start.
 boolean equals(Object obj)
           
 int fullPathLength()
          Returns the number of characters needed to represent the path, including delimiter characters, for using with copyFullPath(char[], int, char).
 int hashCode()
           
 long longHashCode()
          Calculate a 64-bit hash function for this path.
 CategoryPath subpath(int length)
          Returns a sub-path of this path up to length components.
 String toString()
          Returns a string representation of the path, separating components with '/'.
 String toString(char delimiter)
          Returns a string representation of the path, separating components with the given delimiter.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

EMPTY

public static final CategoryPath EMPTY
An empty CategoryPath


components

public final String[] components
The components of this CategoryPath. Note that this array may be shared with other CategoryPath instances, e.g. as a result of subpath(int), therefore you should traverse the array up to length for this path's components.


length

public final int length
The number of components of this CategoryPath.

Constructor Detail

CategoryPath

public CategoryPath(String... components)
Construct from the given path components.


CategoryPath

public CategoryPath(String pathString,
                    char delimiter)
Construct from a given path, separating path components with delimiter.

Method Detail

fullPathLength

public int fullPathLength()
Returns the number of characters needed to represent the path, including delimiter characters, for using with copyFullPath(char[], int, char).


compareTo

public int compareTo(CategoryPath other)
Compares this path with another CategoryPath for lexicographic order.

Specified by:
compareTo in interface Comparable<CategoryPath>

copyFullPath

public int copyFullPath(char[] buf,
                        int start,
                        char delimiter)
Copies the path components to the given char[], starting at index start. delimiter is 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(Object obj)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class 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 to length components.


toString

public String toString()
Returns a string representation of the path, separating components with '/'.

Overrides:
toString in class Object
See Also:
toString(char)

toString

public String toString(char delimiter)
Returns a string representation of the path, separating components with the given delimiter.



Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.