edu.uoc.pfc.j2ee.jalonsod.mtp.config
Class Parameter
java.lang.Object
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
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
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
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
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