Class BeanValidationPlugin
java.lang.Object
com.sun.tools.xjc.Plugin
org.eclipse.persistence.jaxb.plugins.BeanValidationPlugin
public class BeanValidationPlugin
extends com.sun.tools.xjc.Plugin
XJC Plugin for generation of JSR349 (Bean Validation) annotations.
Has two mods:
Is capable of generating the following annotations:"jsr303" - enables backward compatibility. "simpleRegex" - disables translation of UNICODE XML regex into UNICODE Java regex. Java ASCII regex are shorter to read.
Reacts to the following XSD restrictions and facets:- @DecimalMax - @DecimalMin - @Digits - @NotNull - @Pattern - @Size - @Valid - @AssertTrue - @AssertFalse - @Future - @Past
Basic usage:- maxExclusive - minExclusive - maxInclusive - minInclusive - nillable - pattern - length - maxLength - minLength - minOccurs - maxOccurs
Example usage with mods:xjc file.xsd -XBeanVal
Programmatic usage, with mods and extensions enabled:xjc file.xsd -XBeanVal jsr303 simpleRegex
Supports setting Target groups and Error message through binding customizations. Example:Driver.run(new String[] { schemaPath, "-extension", "-XBeanVal", "jsr303", "simpleRegex" }, System.out, System.out);
<xs:appinfo> <jxb:bindings node="/xs:schema/xs:complexType/xs:sequence/xs:element[@name='generic']"> <bv:facet type="maxLength" message="Hello, world!" groups="Object"/> <bv:facet type="future" message="Welcome to the Future!"/> </jxb:bindings> </xs:appinfo>
Supports custom-created BV annotations. Example:
<xs:appinfo> <jxb:bindings node="/xs:schema/xs:complexType/xs:sequence/xs:element[@name='generic']"> <bv:facet type="org.eclipse.persistence.annotations.AdditionalCriteria" value="This is a real custom annotation."/> </jxb:bindings> </xs:appinfo>
- Author:
- Marcel Valovy - marcel.valovy@oracle.com
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetUsage()
boolean
isCustomizationTagName
(String nsUri, String localName) int
parseArgument
(com.sun.tools.xjc.Options opt, String[] args, int i) boolean
run
(com.sun.tools.xjc.outline.Outline outline, com.sun.tools.xjc.Options opts, ErrorHandler errorHandler) Methods inherited from class com.sun.tools.xjc.Plugin
onActivated, postProcessModel
-
Field Details
-
PLUGIN_OPTION
- See Also:
-
JSR_303_MOD
- See Also:
-
SIMPLE_REGEX_MOD
- See Also:
-
NS_URI
- See Also:
-
FACET
- See Also:
-
-
Constructor Details
-
BeanValidationPlugin
public BeanValidationPlugin()
-
-
Method Details
-
getOptionName
- Specified by:
getOptionName
in classcom.sun.tools.xjc.Plugin
-
getUsage
- Specified by:
getUsage
in classcom.sun.tools.xjc.Plugin
-
getCustomizationURIs
- Overrides:
getCustomizationURIs
in classcom.sun.tools.xjc.Plugin
-
isCustomizationTagName
- Overrides:
isCustomizationTagName
in classcom.sun.tools.xjc.Plugin
-
parseArgument
public int parseArgument(com.sun.tools.xjc.Options opt, String[] args, int i) throws com.sun.tools.xjc.BadCommandLineException, IOException - Overrides:
parseArgument
in classcom.sun.tools.xjc.Plugin
- Throws:
com.sun.tools.xjc.BadCommandLineException
IOException
-
run
public boolean run(com.sun.tools.xjc.outline.Outline outline, com.sun.tools.xjc.Options opts, ErrorHandler errorHandler) - Specified by:
run
in classcom.sun.tools.xjc.Plugin
-