Designates a boolean field/property as a flag to indicate
whether another property is present or not.
Sometimes you'd want to map a Java primitive type to an
optional element/attribute. Doing this makes it impossible
to represent the absence of the property, thus you always
end up producing the value when you marshal to XML.
For example,
XmlElement class Foo {
XmlElement int x;
}
marshaller.marshal(new Foo());
and you get:
0
By creating a side boolean field/property that has this annotation,
you can indicate the absence of the property by setting this boolean
to false.
XmlElement class Foo {
XmlElement int x;
XmlIsSet ("x")
boolean xIsPresent;
}
Foo f = new Foo();
f.x = 5;
f.xIsPresent = false;
marshaller.marshal(f);
f.xIsPresent = true;
5
A property/field annotated with
XmlIsSet itself will not show up in XML.
It is an error to use this annotation on the same property/field
as
XmlElement ,
XmlAttribute ,
XmlValue , or
XmlElementRef ,
...TBD.
author: Kohsuke Kawaguchi |