org.relaxng.datatype.helpers
Class ParameterlessDatatypeBuilder

java.lang.Object
  extended by org.relaxng.datatype.helpers.ParameterlessDatatypeBuilder
All Implemented Interfaces:
DatatypeBuilder

public final class ParameterlessDatatypeBuilder
extends java.lang.Object
implements DatatypeBuilder

Dummy implementation of DatatypeBuilder. This implementation can be used for Datatypes which have no parameters. Any attempt to add parameters will be rejected.

Typical usage would be:


 class MyDatatypeLibrary implements DatatypeLibrary {
     ....
     DatatypeBuilder createDatatypeBuilder( String typeName ) {
         return new ParameterleessDatatypeBuilder(createDatatype(typeName));
     }
     ....
 }
 

Author:
Kohsuke KAWAGUCHI

Constructor Summary
ParameterlessDatatypeBuilder(Datatype baseType)
           
 
Method Summary
 void addParameter(java.lang.String name, java.lang.String strValue, ValidationContext context)
          Adds a new parameter.
 Datatype createDatatype()
          Derives a new Datatype from a Datatype by parameters that were already set through the addParameter method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ParameterlessDatatypeBuilder

public ParameterlessDatatypeBuilder(Datatype baseType)
Method Detail

addParameter

public void addParameter(java.lang.String name,
                         java.lang.String strValue,
                         ValidationContext context)
                  throws DatatypeException
Description copied from interface: DatatypeBuilder
Adds a new parameter.

Specified by:
addParameter in interface DatatypeBuilder
Parameters:
name - The name of the parameter to be added.
strValue - The raw value of the parameter. Caller may not normalize this value because any white space is potentially significant.
context - The context information which can be used by the callee to acquire additional information. This context object is valid only during this method call. The callee may not keep a reference to this object.
Throws:
DatatypeException - When the given parameter is inappropriate for some reason. The callee is responsible to recover from this error. That is, the object should behave as if no such error was occured.

createDatatype

public Datatype createDatatype()
                        throws DatatypeException
Description copied from interface: DatatypeBuilder
Derives a new Datatype from a Datatype by parameters that were already set through the addParameter method.

Specified by:
createDatatype in interface DatatypeBuilder
Throws:
DatatypeException - DatatypeException must be thrown if the derivation is somehow invalid. For example, a required parameter is missing, etc. The exception should contain a diagnosis message if possible.