in src/java/org/apache/fulcrum/intake/model/Field.java [181:242]
public Field(XmlField field, Group group) throws IntakeException
{
enableLogging(field.getLogger());
this.group = group;
key = field.getKey();
name = field.getName();
displayName = field.getDisplayName();
displaySize = field.getDisplaySize();
isMultiValued = field.isMultiValued();
ruleMap = field.getRuleMap();
try
{
setDefaultValue(field.getDefaultValue());
}
catch (RuntimeException e)
{
log.error("Could not set default value of " +
this.getDisplayName() + " to "
+ field.getDefaultValue(), e);
}
try
{
setEmptyValue(field.getEmptyValue());
}
catch (RuntimeException e)
{
log.error("Could not set empty value of " +
this.getDisplayName() + " to "
+ field.getEmptyValue(), e);
}
this.validatorClassName = field.getValidator();
if (validatorClassName == null)
{
validatorClassName = getDefaultValidator();
}
else if (validatorClassName.indexOf('.') == -1)
{
validatorClassName = defaultValidatorPackage + validatorClassName;
}
// field may have been declared as always required in the xml spec
Rule reqRule = field.getRuleMap().get(Validator.REQUIRED_RULE_NAME);
if (reqRule != null)
{
alwaysRequired = Boolean.valueOf(reqRule.getValue()).booleanValue();
ifRequiredMessage = reqRule.getMessage();
}
Rule maxLengthRule = field.getRuleMap().get(Validator.MAX_LENGTH_RULE_NAME);
if (maxLengthRule != null)
{
maxSize = maxLengthRule.getValue();
}
// map the getter and setter methods
mapToObject = field.getMapToObject();
mapToProperty = field.getMapToProperty();
valArray = new Object[1];
}