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.
- $Id: IndexFunction.java 45315 2011-02-18 20:23:11Z michiel $
- Michiel Meeuwissen
|Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
protected static Cache<String,String> indexCache
protected static final NodeFunction<String> index
public static String successor(String index)
- Returns the 'successor' of a string. Which means that e.g. after 'zzz' follows 'aaaa'.
protected static String romanSuccessor(String index)
- Calculates the 'successor' of a roman number, preserving uppercase/lowercase.
protected static String successor(String index,
- Calculates the 'successor' of an index String. Like '7.4.iii' of which the successor is
index - The string to succeed
separator - Regular expression to split up the string first (e.g. "\\.")
joiner - String to rejoin it again (e.g. ".")
roman - Whether to consider roman numbers
public static void main(String argv)
MMBase2 Core 2.0-SNAPSHOT - 2013-03-30T06:36