[hibernate-commits] Hibernate SVN: r17497 - in validator/trunk/hibernate-validator/src/main/docbook/en-US: modules and 1 other directory.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Wed Sep 9 08:36:01 EDT 2009


Author: hardy.ferentschik
Date: 2009-09-09 08:36:01 -0400 (Wed, 09 Sep 2009)
New Revision: 17497

Modified:
   validator/trunk/hibernate-validator/src/main/docbook/en-US/master.xml
   validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/bootstrapping.xml
   validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/usingvalidator.xml
Log:
HV-220

Modified: validator/trunk/hibernate-validator/src/main/docbook/en-US/master.xml
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/en-US/master.xml	2009-09-09 12:02:02 UTC (rev 17496)
+++ validator/trunk/hibernate-validator/src/main/docbook/en-US/master.xml	2009-09-09 12:36:01 UTC (rev 17497)
@@ -111,9 +111,10 @@
 
     <para>Last but not least, a few pointers to further information. A great
     source for examples is the Bean Validation TCK which can is available for
-    anonymous access in the Hibernate SVN repository - <ulink
-    url="https://svn.jboss.org/repos/hibernate/validator/trunk">https://svn.jboss.org/repos/hibernate/validator/trunk</ulink>.
-    Alternatively you can view the tests using fisheye and this url: <ulink
-    url="http://fisheye.jboss.org/browse/Hibernate/beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests">http://fisheye.jboss.org/browse/Hibernate/beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests</ulink>.</para>
+    anonymous access in the Hibernate <ulink
+    url="http://anonsvn.jboss.org/repos/hibernate/validator/trunk">SVN
+    repository</ulink>. Alternatively you can view the tests using <ulink
+    url="http://fisheye.jboss.org/browse/Hibernate/beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests">Hibernate's
+    fisheye</ulink> installation.</para>
   </chapter>
 </book>

Modified: validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/bootstrapping.xml
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/bootstrapping.xml	2009-09-09 12:02:02 UTC (rev 17496)
+++ validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/bootstrapping.xml	2009-09-09 12:36:01 UTC (rev 17497)
@@ -27,23 +27,47 @@
 <chapter id="validator-bootstrapping">
   <title>Bootstrapping</title>
 
-  <para></para>
+  <para>We already discussed in <xref linkend="section-validator-instance" />
+  how to create a <classname>Validator</classname> instance using the
+  different methods in <classname>javax.validation.Validation</classname>. In
+  this chapter we will discuss the underlying mechanisms and have a closer
+  look at the different configuration possibilties available via the
+  <classname>Configuration</classname> object.</para>
 
   <section>
     <title><classname>MessageInterpolator</classname></title>
 
-    <para></para>
+    <para>The message interpolator is provided to the ValidatorFactory at
+    construction time using Configuration.messageInterpolator(). This message
+    interpolator is shared by all validators gener- ated by this
+    ValidatorFactory. It is recommended that MessageInterpolator
+    implementations delegate final interpolation to the Bean Validation
+    default MessageInterpolator to ensure standard Bean Validation
+    interpolation rules are followed. The default implementation is accessible
+    through Configuration.getDefaultMessageInterpolator(). </para>
   </section>
 
   <section>
     <title><classname>TraversableResolver</classname></title>
 
-    <para></para>
+    <para>The Bean Validation provider must not access the state of a
+    property, nor validate its constraints if the property is not traversable.
+    A property is traversable if TraversableResolver returns true for this
+    property. </para>
   </section>
 
   <section>
     <title><classname>ConstraintValidatorFactory</classname></title>
 
-    <para></para>
+    <para>The default ConstraintValidatorFactory provided by the Bean
+    Validation provider implementation uses the pub- lic constraint no-arg
+    constructor. A custom ConstraintValidatorFactory can be provided for
+    example to benefit from dependency injection control in constraint
+    implementations. Any constraint implementation relying on Con-
+    straintValidatorFactory behaviors specific to an implementation
+    (dependency injection, no no-arg constructor and so on) are not considered
+    portable, hence great care should be given before walking that path.
+    ConstraintValidatorFactory should not cache instances as the state of each
+    instance can be altered in the ini- tialize method. </para>
   </section>
 </chapter>

Modified: validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/usingvalidator.xml
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/usingvalidator.xml	2009-09-09 12:02:02 UTC (rev 17496)
+++ validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/usingvalidator.xml	2009-09-09 12:36:01 UTC (rev 17497)
@@ -416,7 +416,7 @@
     <classname>Validator</classname> interface.</para>
 
     <section id="section-validator-instance">
-      <title>Obtaining a Validator instance</title>
+      <title>Obtaining a <classname>Validator</classname> instance</title>
 
       <para>The first step towards validating an entity instance is to get
       hold of a <classname>Validator</classname> instance. The road to this
@@ -427,7 +427,7 @@
       method:<example>
           <title>Validation.buildDefaultValidatorFactory()</title>
 
-          <programlisting>ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
+          <programlisting>ValidatorFactory factory = <emphasis role="bold">Validation.buildDefaultValidatorFactory()</emphasis>;
 Validator validator = factory.getValidator();</programlisting>
         </example>You can also use the method
       <methodname>Validation.byDefaultProvider()</methodname> which will allow
@@ -435,7 +435,8 @@
       instance:<example>
           <title>Validation.byDefaultProvider()</title>
 
-          <programlisting>Configuration&lt;?&gt; config = Validation.byDefaultProvider().configure();
+          <programlisting>Configuration&lt;?&gt; config = <emphasis
+              role="bold">Validation.byDefaultProvider()</emphasis>.configure();
 config.messageInterpolator(new MyMessageInterpolator())
     .traversableResolver( new MyTraversableResolver())
     .constraintValidatorFactory(new MyConstraintValidatorFactory());
@@ -455,7 +456,8 @@
       case of Hibernate Validator the Validator creation looks like:<example>
           <title>Validation.byProvider( HibernateValidator.class )</title>
 
-          <programlisting>ValidatorConfiguration config = Validation.byProvider( HibernateValidator.class ).configure;
+          <programlisting>ValidatorConfiguration config = <emphasis
+              role="bold">Validation.byProvider( HibernateValidator.class )</emphasis>.configure();
 config.messageInterpolator(new MyMessageInterpolator())
     .traversableResolver( new MyTraversableResolver())
     .constraintValidatorFactory(new MyConstraintValidatorFactory());



More information about the hibernate-commits mailing list