org.apache.cocoon.forms.datatype.typeimpl
Class EnumType

java.lang.Object
  extended byorg.apache.cocoon.forms.datatype.typeimpl.AbstractDatatype
      extended byorg.apache.cocoon.forms.datatype.typeimpl.EnumType
All Implemented Interfaces:
Datatype

public class EnumType
extends AbstractDatatype

A Datatype implementation for types implementing Joshua Bloch's typesafe enum pattern.

See the following code for an example:

 package com.example;
 
 public class Sex {

   public static final Sex MALE = new Sex("M");
   public static final Sex FEMALE = new Sex("F");
   private String code;

   private Sex(String code) { this.code = code; }
 }
 

If your enumerated type does not provide a Object.toString() method, the enum convertor will use the fully qualified class name, followed by the name of the public static final field referring to each instance, i.e. "com.example.Sex.MALE", "com.example.Sex.FEMALE" and so on.

If you provide a toString() method which returns something different, you should also provide a fromString(String, Locale) method to convert those strings back to instances.

Version:
$Id: EnumType.html 1304280 2012-03-23 11:18:01Z ilgrosso $

Constructor Summary
EnumType()
           
 
Method Summary
 String getDescriptiveName()
          Returns a descriptive name for the base type of this datatype, i.e.
 Class getTypeClass()
          Gets the class object for the type represented by this datatype.
 
Methods inherited from class org.apache.cocoon.forms.datatype.typeimpl.AbstractDatatype
addValidationRule, convertFromString, convertToString, generateSaxFragment, getBuilder, getConvertor, getPlainConvertor, isArrayType, setArrayType, setBuilder, setConvertor, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EnumType

public EnumType()
Method Detail

getTypeClass

public Class getTypeClass()
Description copied from interface: Datatype
Gets the class object for the type represented by this datatype. E.g. Long, String, ... The objects returned from the convertFromString* methods are of this type, and the object passed to the convertToString* or validate methods should be of this type.


getDescriptiveName

public String getDescriptiveName()
Description copied from interface: Datatype
Returns a descriptive name for the base type of this datatype, i.e. something like 'string', 'long', 'decimal', ...



Copyright 1999-2008 The Apache Software Foundation. All Rights Reserved.