org.iscreen.mvel
Class MvelXmlServiceFactory

java.lang.Object
  extended by org.iscreen.ValidationFactory
      extended by org.iscreen.impl.xml.XmlServiceFactory
          extended by org.iscreen.mvel.MvelXmlServiceFactory

public class MvelXmlServiceFactory
extends XmlServiceFactory

This factory constructs a ValidationService based upon an XML configuration (via file or String, etc.). This ValidationFactory supports XML files that use MVEL.

Author:
Shellman, Dan

Field Summary
 
Fields inherited from class org.iscreen.impl.xml.XmlServiceFactory
DEFAULT_META, metaMap, parseCount, parsedDocuments, resourceMap, setMap, validatorMap
 
Fields inherited from class org.iscreen.ValidationFactory
configLocation, defaultLocale, FACTORY_DEFAULT_XML, FACTORY_MVEL_XML, FACTORY_OGNL_XML, serviceMap
 
Constructor Summary
MvelXmlServiceFactory()
          Default constructor.
 
Method Summary
 void addValidationSetToSet(java.lang.String setId, java.lang.String setRefId, boolean failFastFlag, java.lang.String name, java.lang.String ifExp, java.lang.String iterateExp, java.lang.String mapExp)
          Adds a validation set reference call to a validation set.
 void addValidatorToSet(java.lang.String setId, java.lang.String globalDefaultResource, java.lang.String defaultResource, java.lang.String validatorRef, boolean failFastFlag, java.lang.String validatorName, java.lang.String ifExp, XmlConfigLabel label, XmlConfigDoc doc, java.util.Set mappings, java.util.Set constraints, java.util.Set failures)
          Adds a 'use-validator' to a Validation Set.
protected  void configureValidator(MvelConfiguredValidator validator, java.lang.String globalDefaultResource, java.lang.String defaultResource, XmlConfigLabel label, XmlConfigDoc doc, java.util.Set mappings, java.util.Set constraints, java.util.Set failures)
          Handles the actual configuration of a Validator, whether via registration or by adding one to a Validation Set.
 MvelConfiguredValidator getValidator(java.lang.String id)
          Retrieves a MvelConfiguredValidator with the given id.
 void registerService(java.lang.String serviceId, java.lang.Object service)
          Registers a service with the factory.
 void registerValidationSet(java.lang.String id)
          Registers a Validation Set.
 void registerValidator(java.lang.String globalDefaultResource, java.lang.String id, java.lang.String ref, java.lang.String className, java.lang.String defaultResource, XmlConfigLabel label, XmlConfigDoc doc, java.util.Set mappings, java.util.Set constraints, java.util.Set failures)
          Registers an individual Validator configuration.
 
Methods inherited from class org.iscreen.impl.xml.XmlServiceFactory
addMetaToValidationSet, endParse, getResource, getResource, getValidationService, getValidationService, getValidationSet, loadConfig, registerInclude, registerResource, startParse
 
Methods inherited from class org.iscreen.ValidationFactory
buildFactory, buildFactory, getConfigLocation, getDefaultLocale, getServices, registerFactory, setConfigLocation, setDefaultLocale, setServices
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MvelXmlServiceFactory

public MvelXmlServiceFactory()
Default constructor.

Method Detail

registerValidator

public void registerValidator(java.lang.String globalDefaultResource,
                              java.lang.String id,
                              java.lang.String ref,
                              java.lang.String className,
                              java.lang.String defaultResource,
                              XmlConfigLabel label,
                              XmlConfigDoc doc,
                              java.util.Set mappings,
                              java.util.Set constraints,
                              java.util.Set failures)
Registers an individual Validator configuration. This will create a configured Validator that can be referenced by other Validators or by adding a Validator to a Validation Set.

Specified by:
registerValidator in class XmlServiceFactory
Parameters:
globalDefaultResource - The resource id, when all else fails.
id - The unique id of the Validator
ref - The unique id of the Validator this Validator references. This can be null and is optional.
className - The class name of the Validator (optional, but if there MUST be a valid ref).
defaultResource - The resource id if no id is defined locally.
label - The Label for the Validator. This is optional.
doc - Documentation for this use of the validator.
mappings - The Set of mappings (can't be null, but can be empty).
constraints - The Set of constraints (can't be null, but can be empty).
failures - The Set of failures (can't be null, but can be empty).

registerValidationSet

public void registerValidationSet(java.lang.String id)
Registers a Validation Set.

Specified by:
registerValidationSet in class XmlServiceFactory
Parameters:
id - The validation set's unique id.

addValidatorToSet

public void addValidatorToSet(java.lang.String setId,
                              java.lang.String globalDefaultResource,
                              java.lang.String defaultResource,
                              java.lang.String validatorRef,
                              boolean failFastFlag,
                              java.lang.String validatorName,
                              java.lang.String ifExp,
                              XmlConfigLabel label,
                              XmlConfigDoc doc,
                              java.util.Set mappings,
                              java.util.Set constraints,
                              java.util.Set failures)
Adds a 'use-validator' to a Validation Set. The 'use-validator' must reference a Validator.

Specified by:
addValidatorToSet in class XmlServiceFactory
Parameters:
setId - The Validation Set id.
globalDefaultResource - The configuration file's default resource (can be null/empty).
defaultResource - The Validation Set's default resource (optional).
validatorRef - The reference to a Validator (required).
failFastFlag - Whether to stop validations if this validator fails.
validatorName - The name of the validator.
ifExp - The 'if' expression as to whether this validator will be executed or not.
label - The label for this validator.
doc - Documentation for this use of the validator.
mappings - The mappings for this validator.
constraints - The constraints for this validator.
failures - The failures for this validator.

addValidationSetToSet

public void addValidationSetToSet(java.lang.String setId,
                                  java.lang.String setRefId,
                                  boolean failFastFlag,
                                  java.lang.String name,
                                  java.lang.String ifExp,
                                  java.lang.String iterateExp,
                                  java.lang.String mapExp)
Adds a validation set reference call to a validation set.

Specified by:
addValidationSetToSet in class XmlServiceFactory
Parameters:
setId - The id of the containing Validation Set.
setRefId - The id of the Validation Set being referenced.
failFastFlag - Whether to continue validations if the set reports a failure.
ifExp - Whether to execute the validations in the referenced set.
iterateExp - Whether to iterate over the objects being mapped and validate each one.
mapExp - The mapping expression.

getValidator

public MvelConfiguredValidator getValidator(java.lang.String id)
Retrieves a MvelConfiguredValidator with the given id. If one has not been previously registered, then create a blank one.

Parameters:
id - The Validator's id.
Returns:
Returns a Validator with the given id.

registerService

public void registerService(java.lang.String serviceId,
                            java.lang.Object service)
Registers a service with the factory. This service can then be referenced by validators via configuration.

Overrides:
registerService in class XmlServiceFactory
Parameters:
serviceId - The service id
service - The service

configureValidator

protected void configureValidator(MvelConfiguredValidator validator,
                                  java.lang.String globalDefaultResource,
                                  java.lang.String defaultResource,
                                  XmlConfigLabel label,
                                  XmlConfigDoc doc,
                                  java.util.Set mappings,
                                  java.util.Set constraints,
                                  java.util.Set failures)
Handles the actual configuration of a Validator, whether via registration or by adding one to a Validation Set.