Class IndexName
- java.lang.Object
 - 
- org.apache.jackrabbit.oak.plugins.index.IndexName
 
 
- 
- All Implemented Interfaces:
 java.lang.Comparable<IndexName>
public class IndexName extends java.lang.Object implements java.lang.Comparable<IndexName>
An index name, which possibly contains two version numbers: the product version number, and the customer version number. The format of an index node name is: - The name of the index, - optionally a dash ('-') and the product version number, - optionally "-custom-" and the customer version number. If the node name doesn't contain version numbers / dashes, then version 0 is assumed (for both the product version number and customer version number). 
- 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(IndexName o)static java.util.Collection<java.lang.String>filterReplacedIndexes(java.util.Collection<java.lang.String> indexPaths, NodeState rootState, boolean checkIsActive)Filter out index that are replaced by another index with the same base name but newer version.java.lang.StringgetBaseName()intgetCustomerVersion()IndexNamegetLatestCustomized(java.util.List<IndexName> all)Get the latest index name object that matches this index base name, and is customized.IndexNamegetLatestProduct(java.util.List<IndexName> all)Get the latest product index that matches this index base name.java.lang.StringgetNodeName()intgetProductVersion()static booleanisIndexActive(java.lang.String indexPath, NodeState rootState)booleanisLegal()booleanisVersioned()java.lang.StringnextCustomizedName()static IndexNameparse(java.lang.String nodeName)Parse the node name.java.lang.StringtoString() 
 - 
 
- 
- 
Method Detail
- 
parse
public static IndexName parse(java.lang.String nodeName)
Parse the node name. Both node names with version and without version are supported.- Parameters:
 nodeName- the node name (starting from root; e.g. "/oak:index/lucene")- Returns:
 - the index name object
 
 
- 
toString
public java.lang.String toString()
- Overrides:
 toStringin classjava.lang.Object
 
- 
compareTo
public int compareTo(IndexName o)
- Specified by:
 compareToin interfacejava.lang.Comparable<IndexName>
 
- 
getLatestCustomized
public IndexName getLatestCustomized(java.util.List<IndexName> all)
Get the latest index name object that matches this index base name, and is customized.- Parameters:
 all- the list of all indexes- Returns:
 - the lastest customized index, or null if none
 
 
- 
getLatestProduct
public IndexName getLatestProduct(java.util.List<IndexName> all)
Get the latest product index that matches this index base name.- Parameters:
 all- the list of all indexes- Returns:
 - the latest product index, or null if none
 
 
- 
filterReplacedIndexes
public static java.util.Collection<java.lang.String> filterReplacedIndexes(java.util.Collection<java.lang.String> indexPaths, NodeState rootState, boolean checkIsActive)Filter out index that are replaced by another index with the same base name but newer version. Indexes without a version number in the name are always used, except if there is an active index with the same base name but a newer version. Active indexes have a hidden ":oak:mount-" node, which means they are indexed in the read-only node store.- Parameters:
 indexPaths- the set of index pathsrootState- the root node state (used to find hidden nodes)- Returns:
 - the filtered list
 
 
- 
nextCustomizedName
public java.lang.String nextCustomizedName()
 
- 
isIndexActive
public static boolean isIndexActive(java.lang.String indexPath, NodeState rootState) 
- 
getNodeName
public java.lang.String getNodeName()
 
- 
getCustomerVersion
public int getCustomerVersion()
 
- 
getProductVersion
public int getProductVersion()
 
- 
getBaseName
public java.lang.String getBaseName()
 
- 
isVersioned
public boolean isVersioned()
 
- 
isLegal
public boolean isLegal()
 
 - 
 
 -