edu.uoc.pfc.j2ee.jalonsod.mtp.config
Class Parameter

java.lang.Object
  extended by edu.uoc.pfc.j2ee.jalonsod.mtp.config.Parameter
Direct Known Subclasses:
BooleanParameter, DateParameter, DoubleParameter, IntegerParameter, StringParameter

public abstract class Parameter
extends java.lang.Object

File: Parameter.java Created: 2012-04-22 Parameter configuration metadata. Contains the metadata of a single parameter submitted by the user in a request. Parameters in MTP are parts of a Form. Parameter has a subtypes, one for each Java datatype. To create new parameter objects of appropriate datatype, developers must call to factory method createParameter. New datatypes must have a subclass and be taken into account in createParameter factory method. When a user request parameter is received , the value is loaded into a ParameterInstance.

Author:
José Alonso de Motta
See Also:
Form, ParameterInstance

Field Summary
protected  boolean copyToModel
           
protected  java.lang.String datatype
           
protected  java.lang.Object datatypeClassReference
           
protected  java.lang.String modelAttribute
           
protected  java.lang.String name
           
protected  boolean required
           
protected  Validation validateMethod
           
 
Constructor Summary
protected Parameter(java.lang.String name, java.lang.String datatype, boolean required, Validation validateMethod, boolean copyToModel, java.lang.String modelAttribute)
          Constructor of parameter.
 
Method Summary
static Parameter createParameter(java.lang.String name, java.lang.String datatype, boolean required, Validation validateMethod, boolean copyToModel, java.lang.String modelAttribute, java.lang.String defaultValue, java.lang.String dateFormat)
          Factory method to create new Parameter instances
 boolean getCopyToModel()
           
 java.lang.String getDatatype()
           
abstract  java.lang.Class<?> getDatatypeReference()
           
abstract  java.lang.Object getDefaultValue()
           
 java.lang.String getModelAttribute()
           
 java.lang.String getName()
           
 boolean getRequired()
           
 Validation getValidateMethod()
           
 void setCopyToModel(boolean copyToModel)
           
private  void setDatatype(java.lang.String datatype)
           
abstract  void setDefaultValue(java.lang.Object defaultValue)
           
 void setModelAttribute(java.lang.String modelAttribute)
           
 void setName(java.lang.String name)
           
 void setRequired(boolean required)
           
 void setValidateMethod(Validation validateMethod)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

datatype

protected java.lang.String datatype

datatypeClassReference

protected java.lang.Object datatypeClassReference

required

protected boolean required

validateMethod

protected Validation validateMethod

copyToModel

protected boolean copyToModel

modelAttribute

protected java.lang.String modelAttribute
Constructor Detail

Parameter

protected Parameter(java.lang.String name,
                    java.lang.String datatype,
                    boolean required,
                    Validation validateMethod,
                    boolean copyToModel,
                    java.lang.String modelAttribute)
             throws ConfiguratorException
Constructor of parameter. Developers must call to factory method createParameter to create new Parameter subclass instances

Throws:
ConfiguratorException - Throws when received parameters are invalid
Method Detail

createParameter

public static Parameter createParameter(java.lang.String name,
                                        java.lang.String datatype,
                                        boolean required,
                                        Validation validateMethod,
                                        boolean copyToModel,
                                        java.lang.String modelAttribute,
                                        java.lang.String defaultValue,
                                        java.lang.String dateFormat)
                                 throws ConfiguratorException
Factory method to create new Parameter instances

Parameters:
name - Name of parameter. Framework use this to locate user request parameter. Mandatory.
datatype - Datatype of parameter (check Configurator.DATATYPE_* for supported datatypes). Mandatory.
required - true if parameter value is mandatory. Mandatory.
validateMethod - Validate method. Optional.
copyToModel - true if parameter must be replicated to model instance. Mandatory.
modelAttribute - The name of the attribute in the model class. Example: If modelAttribute is "keyValue" framework will call to modelInstance.setKeyValue(value) (first letter in uppercase). Optional. In case of null or empty will be populated with param name.
defaultValue - The default value of the instances of this parameter. Optional.
dateFormat - Date format mask. Mandatory for Date parameters. Otherwise it is ignored.
Returns:
A new Parameter instance of appropriate subclass.
Throws:
ConfiguratorException

getName

public java.lang.String getName()

setName

public void setName(java.lang.String name)
             throws ConfiguratorException
Throws:
ConfiguratorException

getDatatype

public java.lang.String getDatatype()

setDatatype

private void setDatatype(java.lang.String datatype)
                  throws ConfiguratorException
Throws:
ConfiguratorException

getRequired

public boolean getRequired()

setRequired

public void setRequired(boolean required)

getValidateMethod

public Validation getValidateMethod()

setValidateMethod

public void setValidateMethod(Validation validateMethod)
                       throws ConfiguratorException
Throws:
ConfiguratorException

getCopyToModel

public boolean getCopyToModel()

setCopyToModel

public void setCopyToModel(boolean copyToModel)

getModelAttribute

public java.lang.String getModelAttribute()

setModelAttribute

public void setModelAttribute(java.lang.String modelAttribute)

getDefaultValue

public abstract java.lang.Object getDefaultValue()

setDefaultValue

public abstract void setDefaultValue(java.lang.Object defaultValue)

getDatatypeReference

public abstract java.lang.Class<?> getDatatypeReference()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object