public class Car {
    @NotNull
    private String manufacturer;
    @NotNull
    @Size(min = 5, max = 14, groups = OptionalChecks.class)
    private String licensePlate;
    // getter and setter
} 
public class Car {
    @NotNull
    private String manufacturer;
    @NotNull
    @Size(min = 5, max = 14, groups = OptionalChecks.class)
    private String licensePlate;
    // getter and setter
} 
 
Copy to Clipboard 
Copied! 
 
   
   
 
 
 
Toggle word wrap 
Toggle overflow 
 
  
    
       
       
     
    
       
       
       
     
   
 
 
 
public interface OptionalChecks {
} 
public interface OptionalChecks {
} 
 
Copy to Clipboard 
Copied! 
 
   
   
 
 
 
Toggle word wrap 
Toggle overflow 
 
  
    
       
       
     
    
       
       
       
     
   
 
 
 
from("direct:start")
.to("bean-validator://x")
.to("mock:end") 
from("direct:start")
.to("bean-validator://x")
.to("mock:end") 
 
Copy to Clipboard 
Copied! 
 
   
   
 
 
 
Toggle word wrap 
Toggle overflow 
 
  
    
       
       
     
    
       
       
       
     
   
 
 
 
from("direct:start")
.to("bean-validator://x?group=OptionalChecks")
.to("mock:end") 
from("direct:start")
.to("bean-validator://x?group=OptionalChecks")
.to("mock:end") 
 
Copy to Clipboard 
Copied! 
 
   
   
 
 
 
Toggle word wrap 
Toggle overflow 
 
  
    
       
       
     
    
       
       
       
     
   
 
 
 
@GroupSequence({Default.class, OptionalChecks.class})
public interface AllChecks {
} 
@GroupSequence({Default.class, OptionalChecks.class})
public interface AllChecks {
} 
 
Copy to Clipboard 
Copied! 
 
   
   
 
 
 
Toggle word wrap 
Toggle overflow 
 
  
    
       
       
     
    
       
       
       
     
   
 
 
 
from("direct:start")
.to("bean-validator://x?group=AllChecks")
.to("mock:end") 
from("direct:start")
.to("bean-validator://x?group=AllChecks")
.to("mock:end") 
 
Copy to Clipboard 
Copied! 
 
   
   
 
 
 
Toggle word wrap 
Toggle overflow 
 
  
    
       
       
     
    
       
       
       
     
   
 
 
 
<bean id="myMessageInterpolator" class="my.ConstraintValidatorFactory" />
<bean id="myTraversableResolver" class="my.TraversableResolver" />
<bean id="myConstraintValidatorFactory" class="my.ConstraintValidatorFactory" />
from("direct:start")
.to("bean-validator://x?group=AllChecks&messageInterpolator=#myMessageInterpolator
&traversableResolver=#myTraversableResolver&constraintValidatorFactory=#myConstraintValidatorFactory")
.to("mock:end") 
<bean id="myMessageInterpolator" class="my.ConstraintValidatorFactory" />
<bean id="myTraversableResolver" class="my.TraversableResolver" />
<bean id="myConstraintValidatorFactory" class="my.ConstraintValidatorFactory" />
from("direct:start")
.to("bean-validator://x?group=AllChecks&messageInterpolator=#myMessageInterpolator
&traversableResolver=#myTraversableResolver&constraintValidatorFactory=#myConstraintValidatorFactory")
.to("mock:end") 
 
Copy to Clipboard 
Copied! 
 
   
   
 
 
 
Toggle word wrap 
Toggle overflow 
 
  
    
       
       
     
    
       
       
       
     
   
 
 
 
<?xml version="1.0" encoding="UTF-8"?>
<validation-config
    xmlns="http://jboss.org/xml/ns/javax/validation/configuration"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/configuration">
    <default-provider>org.hibernate.validator.HibernateValidator</default-provider>
    <message-interpolator>org.hibernate.validator.engine.ResourceBundleMessageInterpolator</message-interpolator>
    <traversable-resolver>org.hibernate.validator.engine.resolver.DefaultTraversableResolver</traversable-resolver>
    <constraint-validator-factory>org.hibernate.validator.engine.ConstraintValidatorFactoryImpl</constraint-validator-factory>
    <constraint-mapping>/constraints-car.xml</constraint-mapping>
</validation-config> 
<?xml version="1.0" encoding="UTF-8"?>
<validation-config
    xmlns="http://jboss.org/xml/ns/javax/validation/configuration"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/configuration">
    <default-provider>org.hibernate.validator.HibernateValidator</default-provider>
    <message-interpolator>org.hibernate.validator.engine.ResourceBundleMessageInterpolator</message-interpolator>
    <traversable-resolver>org.hibernate.validator.engine.resolver.DefaultTraversableResolver</traversable-resolver>
    <constraint-validator-factory>org.hibernate.validator.engine.ConstraintValidatorFactoryImpl</constraint-validator-factory>
    <constraint-mapping>/constraints-car.xml</constraint-mapping>
</validation-config> 
 
Copy to Clipboard 
Copied! 
 
   
   
 
 
 
Toggle word wrap 
Toggle overflow 
 
  
    
       
       
     
    
       
       
       
     
   
 
 
 
<?xml version="1.0" encoding="UTF-8"?>
<constraint-mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/mapping validation-mapping-1.0.xsd"
    xmlns="http://jboss.org/xml/ns/javax/validation/mapping">
    <default-package>org.apache.camel.component.bean.validator</default-package>
    <bean class="CarWithoutAnnotations" ignore-annotations="true">
        <field name="manufacturer">
            <constraint annotation="javax.validation.constraints.NotNull" />
        </field>
        <field name="licensePlate">
            <constraint annotation="javax.validation.constraints.NotNull" />
            <constraint annotation="javax.validation.constraints.Size">
                <groups>
                    <value>org.apache.camel.component.bean.validator.OptionalChecks</value>
                </groups>
                <element name="min">5</element>
                <element name="max">14</element>
            </constraint>
        </field>
    </bean>
</constraint-mappings> 
<?xml version="1.0" encoding="UTF-8"?>
<constraint-mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/mapping validation-mapping-1.0.xsd"
    xmlns="http://jboss.org/xml/ns/javax/validation/mapping">
    <default-package>org.apache.camel.component.bean.validator</default-package>
    <bean class="CarWithoutAnnotations" ignore-annotations="true">
        <field name="manufacturer">
            <constraint annotation="javax.validation.constraints.NotNull" />
        </field>
        <field name="licensePlate">
            <constraint annotation="javax.validation.constraints.NotNull" />
            <constraint annotation="javax.validation.constraints.Size">
                <groups>
                    <value>org.apache.camel.component.bean.validator.OptionalChecks</value>
                </groups>
                <element name="min">5</element>
                <element name="max">14</element>
            </constraint>
        </field>
    </bean>
</constraint-mappings> 
 
Copy to Clipboard 
Copied! 
 
   
   
 
 
 
Toggle word wrap 
Toggle overflow 
 
  
    
       
       
     
    
       
       
       
     
   
 
 
 
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
        <route>
            <from uri="direct:start"/>
            <to uri="bean-validator://x?group=org.apache.camel.component.bean.validator.OrderedChecks"/>
        </route>
    </camelContext>
</beans> 
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
        <route>
            <from uri="direct:start"/>
            <to uri="bean-validator://x?group=org.apache.camel.component.bean.validator.OrderedChecks"/>
        </route>
    </camelContext>
</beans> 
 
Copy to Clipboard 
Copied! 
 
   
   
 
 
 
Toggle word wrap 
Toggle overflow