## org.apache.lucene.facet.taxonomy
Class CategoryPath

    java.lang.Object
      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.