org.mmbase.util.transformers
Class RomanTransformer

java.lang.Object
  extended byorg.mmbase.util.transformers.StringTransformer
      extended byorg.mmbase.util.transformers.RomanTransformer
All Implemented Interfaces:
CharTransformer, Serializable, Transformer

public class RomanTransformer
extends StringTransformer

Static utilities to deal with roman numbers, and non static functions to transform strings representing decimal numbers to roman numbers and back.

Since:
MMBase-1.8
Version:
$Id: RomanTransformer.java,v 1.4 2005/11/01 23:36:02 michiel Exp $
Author:
Michiel Meeuwissen
See Also:
Serialized Form

Field Summary
static int C
          Constants for roman numbers
static int D
          Constants for roman numbers
static int I
          Constants for roman numbers
static int L
          Constants for roman numbers
static int M
          Constants for roman numbers
static Pattern NUMERIC
           
static Pattern ROMAN
           
static int V
          Constants for roman numbers
static int X
          Constants for roman numbers
 
Constructor Summary
RomanTransformer()
           
 
Method Summary
static String decimalToRoman(int value)
          Converts int to roman number (if bigger than 0, smaller then 4000), other wise return the integer as a string.
static char decimalToRomanDigit(int i)
          Converts an integer to one the letters of the roman number system, or ' ' if no such number.
static void main(String[] argv)
          Just to test
static int romanToDecimal(char r)
          Converts one of the letters from the roman number system to an int.
static int romanToDecimal(String roman)
          Converts roman number to int.
 String toString()
           
 String transform(String r)
           
 String transformBack(String r)
           
 
Methods inherited from class org.mmbase.util.transformers.StringTransformer
transform, transform, transformBack, transformBack
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NUMERIC

public static final Pattern NUMERIC

ROMAN

public static final Pattern ROMAN

I

public static final int I
Constants for roman numbers

See Also:
Constant Field Values

V

public static final int V
Constants for roman numbers

See Also:
Constant Field Values

X

public static final int X
Constants for roman numbers

See Also:
Constant Field Values

L

public static final int L
Constants for roman numbers

See Also:
Constant Field Values

C

public static final int C
Constants for roman numbers

See Also:
Constant Field Values

D

public static final int D
Constants for roman numbers

See Also:
Constant Field Values

M

public static final int M
Constants for roman numbers

See Also:
Constant Field Values
Constructor Detail

RomanTransformer

public RomanTransformer()
Method Detail

romanToDecimal

public static int romanToDecimal(char r)
Converts one of the letters from the roman number system to an int.

Returns:
0 if could not be converted

decimalToRomanDigit

public static char decimalToRomanDigit(int i)
Converts an integer to one the letters of the roman number system, or ' ' if no such number.

See Also:
decimalToRoman(int)

romanToDecimal

public static int romanToDecimal(String roman)
Converts roman number to int.


decimalToRoman

public static String decimalToRoman(int value)
Converts int to roman number (if bigger than 0, smaller then 4000), other wise return the integer as a string.


transform

public String transform(String r)
Specified by:
transform in interface CharTransformer
Specified by:
transform in class StringTransformer

transformBack

public String transformBack(String r)
Specified by:
transformBack in interface CharTransformer
Overrides:
transformBack in class StringTransformer

toString

public String toString()

main

public static void main(String[] argv)
Just to test



MMBase build 1.8.1.20060716