Class ParameterlessDatatypeBuilder

java.lang.Object
com.sun.tools.rngdatatype.helpers.ParameterlessDatatypeBuilder
All Implemented Interfaces:
DatatypeBuilder

public final class ParameterlessDatatypeBuilder extends 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 Details

    • ParameterlessDatatypeBuilder

      public ParameterlessDatatypeBuilder(Datatype baseType)
  • Method Details

    • addParameter

      public void addParameter(String name, 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.