org.mmbase.util.functions
Class IndexFunction
java.lang.Object
org.mmbase.util.functions.FunctionProvider
org.mmbase.util.functions.IndexFunction
public class IndexFunction
- extends FunctionProvider
The index node functions can be assigned to nodes which are connected by an 'index' relation. An
index relation is an extension of 'posrel', but also has an 'index' and a 'root' field. These are
used to calcaluate the 'number' of the connected nodes. The 'pos' field only serves to fix the order.
The index field can be empty in which case the node with the lowest pos gets number 1, the
following number 2 and so on. But on any one of the index relations the index can be stated
explicitely. If e.g. the index is specified 'a' then the following node will be 'b'. You can also
arrange for 'i', 'ii', 'iii', 'iv' and so on.
The root field (a node-type field) specifies to which tree the relations belong. So principaly
the same 'chapter' can exists with several different chapter numbers. Also, it is used to define
where counting must starts, because the complete number of a chapter consists of a chain of
numbers (like 2.3.4.iii).
If the index is specified to be '-' then that means that it is explicitely empty. That cannot be
'' or otherwise unfilled, because that means 'determin automaticly' already.
- Since:
- MMBase-1.8
- Version:
- $Id: IndexFunction.java 35524 2009-05-29 13:40:17Z michiel $
- Author:
- Michiel Meeuwissen
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
indexCache
protected static Cache<String,String> indexCache
index
protected static NodeFunction<String> index
IndexFunction
public IndexFunction()
successor
public static String successor(String index)
- Returns the 'successor' of a string. Which means that e.g. after 'zzz' follows 'aaaa'.
romanSuccessor
protected static String romanSuccessor(String index)
- Calculates the 'successor' of a roman number, preserving uppercase/lowercase.
successor
protected static String successor(String index,
String separator,
String joiner,
boolean roman)
- Calculates the 'successor' of an index String. Like '7.4.iii' of which the successor is
'7.4.iv'.
- Parameters:
index - The string to succeedseparator - Regular expression to split up the string first (e.g. "\\.")joiner - String to rejoin it again (e.g. ".")roman - Whether to consider roman numbers
main
public static void main(String[] argv)
MMBase 2.0-SNAPSHOT - null