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
Fields Modifier and Type Field Description static java.lang.String
FACET
static java.lang.String
JSR_303_MOD
static java.lang.String
NS_URI
static java.lang.String
PLUGIN_OPTION
static java.lang.String
SIMPLE_REGEX_MOD
-
Constructor Summary
Constructors Constructor Description BeanValidationPlugin()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<java.lang.String>
getCustomizationURIs()
java.lang.String
getOptionName()
java.lang.String
getUsage()
boolean
isCustomizationTagName(java.lang.String nsUri, java.lang.String localName)
int
parseArgument(com.sun.tools.xjc.Options opt, java.lang.String[] args, int i)
boolean
run(com.sun.tools.xjc.outline.Outline outline, com.sun.tools.xjc.Options opts, org.xml.sax.ErrorHandler errorHandler)
-
-
-
Field Detail
-
PLUGIN_OPTION
public static final java.lang.String PLUGIN_OPTION
- See Also:
- Constant Field Values
-
JSR_303_MOD
public static final java.lang.String JSR_303_MOD
- See Also:
- Constant Field Values
-
SIMPLE_REGEX_MOD
public static final java.lang.String SIMPLE_REGEX_MOD
- See Also:
- Constant Field Values
-
NS_URI
public static final java.lang.String NS_URI
- See Also:
- Constant Field Values
-
FACET
public static final java.lang.String FACET
- See Also:
- Constant Field Values
-
-
Method Detail
-
getOptionName
public java.lang.String getOptionName()
- Specified by:
getOptionName
in classcom.sun.tools.xjc.Plugin
-
getUsage
public java.lang.String getUsage()
- Specified by:
getUsage
in classcom.sun.tools.xjc.Plugin
-
getCustomizationURIs
public java.util.List<java.lang.String> getCustomizationURIs()
- Overrides:
getCustomizationURIs
in classcom.sun.tools.xjc.Plugin
-
isCustomizationTagName
public boolean isCustomizationTagName(java.lang.String nsUri, java.lang.String localName)
- Overrides:
isCustomizationTagName
in classcom.sun.tools.xjc.Plugin
-
parseArgument
public int parseArgument(com.sun.tools.xjc.Options opt, java.lang.String[] args, int i) throws com.sun.tools.xjc.BadCommandLineException, java.io.IOException
- Overrides:
parseArgument
in classcom.sun.tools.xjc.Plugin
- Throws:
com.sun.tools.xjc.BadCommandLineException
java.io.IOException
-
run
public boolean run(com.sun.tools.xjc.outline.Outline outline, com.sun.tools.xjc.Options opts, org.xml.sax.ErrorHandler errorHandler)
- Specified by:
run
in classcom.sun.tools.xjc.Plugin
-
-