com.acsinet_solutions.cetia4.controller.map
Class SimpleMapping

java.lang.Object
  extended by com.acsinet_solutions.cetia4.controller.map.AbstractMapping
      extended by com.acsinet_solutions.cetia4.controller.map.SimpleMapping
All Implemented Interfaces:
Mapping
Direct Known Subclasses:
TimeMapping

public abstract class SimpleMapping
extends AbstractMapping

Base class for simple mappings with structure and utility methods. Simple mappings are mappings of one element in a form versus one simple property in a bean.

Author:
Santiago Arriaga

Constructor Summary
protected SimpleMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required)
          Protected constructor.
protected SimpleMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required, boolean allowsNulls)
          Protected constructor.
protected SimpleMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required, boolean allowsNulls, java.lang.String defaultValue)
          Protected constructor.
 
Method Summary
static SimpleMapping createBigDecimalMapping(java.lang.String fieldName, java.lang.String propertyName)
          Return a simple BigDecimal required mapping.
static SimpleMapping createBigDecimalMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required)
          Return a simple BigDecimal required mapping.
static SimpleMapping createBigDecimalMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required, boolean allowsNulls)
          Return a simple BigDecimal mapping
static SimpleMapping createBooleanMapping(java.lang.String fieldName, java.lang.String propertyName)
          Return a simple int required mapping
static SimpleMapping createBooleanMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required)
          Return a simple int required mapping
static SimpleMapping createBooleanMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required, boolean allowsNulls)
          Return a simple boolean mapping
static SimpleMapping createCalendarMapping(java.lang.String fieldName, java.lang.String propertyName)
          Return a simple Calendar required mapping.
static SimpleMapping createCalendarMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required)
          Return a simple Calendar required mapping.
static SimpleMapping createCalendarMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required, boolean allowsNulls)
          Return a simple Calendar mapping.
static SimpleMapping createDateMapping(java.lang.String fieldName, java.lang.String propertyName)
          Return a simple Date required mapping.
static SimpleMapping createDateMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required)
          Return a simple Date required mapping.
static SimpleMapping createDateMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required, boolean allowsNulls)
          Return a simple Date mapping.
static SimpleMapping createDoubleMapping(java.lang.String fieldName, java.lang.String propertyName)
          Return a simple double required mapping.
static SimpleMapping createDoubleMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required)
          Return a simple double required mapping.
static SimpleMapping createDoubleMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required, boolean allowsNulls)
          Return a simple double mapping
static SimpleMapping createFloatMapping(java.lang.String fieldName, java.lang.String propertyName)
          Return a simple float required mapping
static SimpleMapping createFloatMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required)
          Return a simple float required mapping
static SimpleMapping createFloatMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required, boolean allowsNulls)
          Return a simple float mapping
static SimpleMapping createIntMapping(java.lang.String fieldName, java.lang.String propertyName)
          Return a simple int required mapping
static SimpleMapping createIntMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required)
          Return a simple int required mapping
static SimpleMapping createIntMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required, boolean allowsNulls)
          Return a simple int mapping
static SimpleMapping createLongMapping(java.lang.String fieldName, java.lang.String propertyName)
          Return a simple long required mapping
static SimpleMapping createLongMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required)
          Return a simple long required mapping
static SimpleMapping createLongMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required, boolean allowsNulls)
          Return a simple long mapping
static SimpleMapping createStringMapping(java.lang.String fieldName, java.lang.String propertyName)
          Return a simple String required mapping
static SimpleMapping createStringMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required)
          Return a simple String required mapping
static SimpleMapping createStringMapping(java.lang.String fieldName, java.lang.String propertyName, boolean required, boolean allowsNulls)
          Return a simple String mapping.
static SimpleMapping getDefaultMapping(java.lang.String name, java.lang.Class type)
          Get the default mapping for a given type, if the given class is not supported by this method, a null reference will be returned.
 boolean isCheckbox()
          Check if the current mapping is a checkbox mapping.
 ValidationIssue performMapping(ParameterAccessor request, java.lang.Object bean)
          Perform a single mapping obtaining date from the provided request object and setting values in the provided bean.
protected abstract  ValidationIssue performMapping(java.lang.String parameter, java.lang.Object bean)
          Perform the mapping from the given parameter and set the bean accordingly.
 void setCheckbox(boolean checkbox)
          Set the checkbox flag.
 void setDefaultValue(java.lang.String defaultValue)
          Set the default value fot the current mapping.
 
Methods inherited from class com.acsinet_solutions.cetia4.controller.map.AbstractMapping
getFieldName, getPropertyName, getReadableName, isNullsAllowed, isRequired, performBigDecimalMapping, performBooleanMapping, performCalendarMapping, performDateMapping, performDoubleMapping, performFloatMapping, performIntMapping, performLongMapping, performStringMapping, setInvalidDateMessageKey, setInvalidIntMessageKey, setInvalidNumericMessageKey, setNullMessageKey, setNullsAllowed, setProperty, setReadableName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleMapping

protected SimpleMapping(java.lang.String fieldName,
                        java.lang.String propertyName,
                        boolean required,
                        boolean allowsNulls,
                        java.lang.String defaultValue)
Protected constructor.

Parameters:
fieldName - is the name from the HTML form
propertyName - is the JavaBean property
required - true if the mapping is attempted even if no input parameter is present
allowsNulls - true if the mapping resultant value allows null; false otherwise. Values mapped to primitive type typically do not accept nulls, and an empty parameter will raise an issue.
defaultValue - default value used in checkbox mappings

SimpleMapping

protected SimpleMapping(java.lang.String fieldName,
                        java.lang.String propertyName,
                        boolean required,
                        boolean allowsNulls)
Protected constructor.

Parameters:
fieldName - is the name from the HTML form
propertyName - is the JavaBean property
required - true if the mapping is attempted even if no input parameter is present
allowsNulls - true if the mapping resultant value allows null; false otherwise. Values mapped to primitive type typically do not accept nulls, and an empty parameter will raise an issue.

SimpleMapping

protected SimpleMapping(java.lang.String fieldName,
                        java.lang.String propertyName,
                        boolean required)
Protected constructor.

Parameters:
fieldName - is the name from the HTML form
propertyName - is the JavaBean property
required - true if the mapping is attempted even if no input parameter is present
Method Detail

getDefaultMapping

public static final SimpleMapping getDefaultMapping(java.lang.String name,
                                                    java.lang.Class type)
Get the default mapping for a given type, if the given class is not supported by this method, a null reference will be returned.

Currently supported mapping types are java.lang.String, int, java.lang.Integer, boolean, java.lang.Boolean, float, java.lang.Float, double, java.lang.Double, java.math.BigDecimal, java.util.Date and java.util.Calendar.

Newly supported types may be added if necessary.


createStringMapping

public static SimpleMapping createStringMapping(java.lang.String fieldName,
                                                java.lang.String propertyName,
                                                boolean required,
                                                boolean allowsNulls)
Return a simple String mapping.

See Also:
AbstractMapping.performStringMapping(String,Object)

createStringMapping

public static SimpleMapping createStringMapping(java.lang.String fieldName,
                                                java.lang.String propertyName,
                                                boolean required)
Return a simple String required mapping

See Also:
AbstractMapping.performStringMapping(String,Object)

createStringMapping

public static SimpleMapping createStringMapping(java.lang.String fieldName,
                                                java.lang.String propertyName)
Return a simple String required mapping

See Also:
AbstractMapping.performStringMapping(String,Object)

createIntMapping

public static SimpleMapping createIntMapping(java.lang.String fieldName,
                                             java.lang.String propertyName,
                                             boolean required,
                                             boolean allowsNulls)
Return a simple int mapping

See Also:
AbstractMapping.performIntMapping(String,Object)

createIntMapping

public static SimpleMapping createIntMapping(java.lang.String fieldName,
                                             java.lang.String propertyName,
                                             boolean required)
Return a simple int required mapping

See Also:
AbstractMapping.performIntMapping(String,Object)

createIntMapping

public static SimpleMapping createIntMapping(java.lang.String fieldName,
                                             java.lang.String propertyName)
Return a simple int required mapping

See Also:
AbstractMapping.performIntMapping(String,Object)

createLongMapping

public static SimpleMapping createLongMapping(java.lang.String fieldName,
                                              java.lang.String propertyName,
                                              boolean required,
                                              boolean allowsNulls)
Return a simple long mapping

See Also:
AbstractMapping.performIntMapping(String,Object)

createLongMapping

public static SimpleMapping createLongMapping(java.lang.String fieldName,
                                              java.lang.String propertyName,
                                              boolean required)
Return a simple long required mapping

See Also:
AbstractMapping.performIntMapping(String,Object)

createLongMapping

public static SimpleMapping createLongMapping(java.lang.String fieldName,
                                              java.lang.String propertyName)
Return a simple long required mapping

See Also:
AbstractMapping.performIntMapping(String,Object)

createBooleanMapping

public static SimpleMapping createBooleanMapping(java.lang.String fieldName,
                                                 java.lang.String propertyName,
                                                 boolean required,
                                                 boolean allowsNulls)
Return a simple boolean mapping

See Also:
AbstractMapping.performBooleanMapping(String,Object)

createBooleanMapping

public static SimpleMapping createBooleanMapping(java.lang.String fieldName,
                                                 java.lang.String propertyName,
                                                 boolean required)
Return a simple int required mapping

See Also:
AbstractMapping.performBooleanMapping(String,Object)

createBooleanMapping

public static SimpleMapping createBooleanMapping(java.lang.String fieldName,
                                                 java.lang.String propertyName)
Return a simple int required mapping

See Also:
AbstractMapping.performBooleanMapping(String,Object)

createFloatMapping

public static SimpleMapping createFloatMapping(java.lang.String fieldName,
                                               java.lang.String propertyName,
                                               boolean required,
                                               boolean allowsNulls)
Return a simple float mapping

See Also:
AbstractMapping.performFloatMapping(String,Object)

createFloatMapping

public static SimpleMapping createFloatMapping(java.lang.String fieldName,
                                               java.lang.String propertyName,
                                               boolean required)
Return a simple float required mapping

See Also:
AbstractMapping.performFloatMapping(String,Object)

createFloatMapping

public static SimpleMapping createFloatMapping(java.lang.String fieldName,
                                               java.lang.String propertyName)
Return a simple float required mapping

See Also:
AbstractMapping.performFloatMapping(String,Object)

createDoubleMapping

public static SimpleMapping createDoubleMapping(java.lang.String fieldName,
                                                java.lang.String propertyName,
                                                boolean required,
                                                boolean allowsNulls)
Return a simple double mapping

See Also:
AbstractMapping.performDoubleMapping(String,Object)

createDoubleMapping

public static SimpleMapping createDoubleMapping(java.lang.String fieldName,
                                                java.lang.String propertyName,
                                                boolean required)
Return a simple double required mapping.

See Also:
AbstractMapping.performDoubleMapping(String,Object)

createDoubleMapping

public static SimpleMapping createDoubleMapping(java.lang.String fieldName,
                                                java.lang.String propertyName)
Return a simple double required mapping.

See Also:
AbstractMapping.performDoubleMapping(String,Object)

createBigDecimalMapping

public static SimpleMapping createBigDecimalMapping(java.lang.String fieldName,
                                                    java.lang.String propertyName,
                                                    boolean required,
                                                    boolean allowsNulls)
Return a simple BigDecimal mapping

See Also:
AbstractMapping.performBigDecimalMapping(String,Object)

createBigDecimalMapping

public static SimpleMapping createBigDecimalMapping(java.lang.String fieldName,
                                                    java.lang.String propertyName,
                                                    boolean required)
Return a simple BigDecimal required mapping.

See Also:
AbstractMapping.performBigDecimalMapping(String,Object)

createBigDecimalMapping

public static SimpleMapping createBigDecimalMapping(java.lang.String fieldName,
                                                    java.lang.String propertyName)
Return a simple BigDecimal required mapping.

See Also:
AbstractMapping.performBigDecimalMapping(String,Object)

createDateMapping

public static SimpleMapping createDateMapping(java.lang.String fieldName,
                                              java.lang.String propertyName,
                                              boolean required,
                                              boolean allowsNulls)
Return a simple Date mapping.

See Also:
AbstractMapping.performDateMapping(String,Object)

createDateMapping

public static SimpleMapping createDateMapping(java.lang.String fieldName,
                                              java.lang.String propertyName,
                                              boolean required)
Return a simple Date required mapping.

See Also:
AbstractMapping.performDateMapping(String,Object)

createDateMapping

public static SimpleMapping createDateMapping(java.lang.String fieldName,
                                              java.lang.String propertyName)
Return a simple Date required mapping.

See Also:
AbstractMapping.performDateMapping(String,Object)

createCalendarMapping

public static SimpleMapping createCalendarMapping(java.lang.String fieldName,
                                                  java.lang.String propertyName,
                                                  boolean required,
                                                  boolean allowsNulls)
Return a simple Calendar mapping.

See Also:
AbstractMapping.performCalendarMapping(String,Object)

createCalendarMapping

public static SimpleMapping createCalendarMapping(java.lang.String fieldName,
                                                  java.lang.String propertyName,
                                                  boolean required)
Return a simple Calendar required mapping.

See Also:
AbstractMapping.performCalendarMapping(String,Object)

createCalendarMapping

public static SimpleMapping createCalendarMapping(java.lang.String fieldName,
                                                  java.lang.String propertyName)
Return a simple Calendar required mapping.

See Also:
AbstractMapping.performCalendarMapping(String,Object)

isCheckbox

public final boolean isCheckbox()
Check if the current mapping is a checkbox mapping. A checkbox mapping is a mapping where the input param may or may not come; if it is not present, it should be mapped as the default value. The default value depends on the type of mapping, for boolean mappings it is false, for int mappings it is 0, for String mappings it is 'n'. To change it, use the setDefaultValue() method of this same class.


setCheckbox

public final void setCheckbox(boolean checkbox)
Set the checkbox flag.


setDefaultValue

public final void setDefaultValue(java.lang.String defaultValue)
Set the default value fot the current mapping. Used only on checkbox mappings.

See Also:
isCheckbox()

performMapping

public final ValidationIssue performMapping(ParameterAccessor request,
                                            java.lang.Object bean)
Description copied from interface: Mapping
Perform a single mapping obtaining date from the provided request object and setting values in the provided bean.

Parameters:
request - A not-null HttpServletRequest object
bean - A not-null Object instance
Returns:
A not-null String object if validation issues were raised; null if the mapping performed correctly

performMapping

protected abstract ValidationIssue performMapping(java.lang.String parameter,
                                                  java.lang.Object bean)
Perform the mapping from the given parameter and set the bean accordingly.

Returns:
A not-null String object if validation issues were raised; null if the mapping performed correctly