You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by Apache Wiki <wi...@apache.org> on 2009/02/04 16:51:41 UTC

[Myfaces Wiki] Update of "Extensions/Validator/DevDoc" by GerhardPetracek

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Myfaces Wiki" for change notification.

The following page has been changed by GerhardPetracek:
http://wiki.apache.org/myfaces/Extensions/Validator/DevDoc

------------------------------------------------------------------------------
     * invoke all registered instances of ProcessedInformationRecorder (generic mechanism e.g. used for cross-validation)
     * process metadata based validation
       * extract metadata
-      * map key of current metadata entry to the validation strategy
+      * map current metadata entry to the validation strategy
       * check skipped validation
       * validate
  
@@ -233, +233 @@

  
  implementation details:
  @SkipValidation also has a validation strategy. if the condition is true the strategy adds an information to the current metadata entry that the validation of further annotations should be skipped (if supported). that works because all metadata entries for a property share the same information (of the property). so this information is available for all following validations.
+ 
+ === MetaDataExtractionInterceptor ===
+ (since 1.x.2)
+ 
+ to get a better performance for the jsr 303 integration this type of interceptor was introduced.[[BR]]
+ e.g. in case of xml configured class based validation it isn't required to have an annotation in place. so such an interceptor has to add the information provided by xml configs to the PropertyInformation object.[[BR]]
+ the alternative (without changes) would be an additional renderer-interceptor (this would lead to double extraction for each property). furthermore, MetaDataExtractionInterceptors allows the core to be independent of jsr 303 mechanisms. moreover, it also allows similar 3rd party mechanisms.
+ 
+ adding a custom implementation:
+ {{{
+ ExtValContext.getContext().addMetaDataExtractionInterceptor(new CustomMetaDataExtractionInterceptor());
+ }}}
  
  == MetaDataTransformer ==