if(prop.inlineBinaryData())
field.annotate(XmlInlineBinaryData.class);
}
private void annotateReference(JAnnotatable field) {
CReferencePropertyInfo rp = (CReferencePropertyInfo) prop;
TODO.prototype();
// this is just a quick hack to get the basic test working
Collection<CElement> elements = rp.getElements();
XmlElementRefWriter refw;
if(elements.size()==1) {
refw = field.annotate2(XmlElementRefWriter.class);
CElement e = elements.iterator().next();
refw.name(e.getElementName().getLocalPart())
.namespace(e.getElementName().getNamespaceURI())
.type(e.getType().toType(outline.parent(),IMPLEMENTATION));
if(getOptions().target.isLaterThan(SpecVersion.V2_2))
refw.required(rp.isRequired());
} else
if(elements.size()>1) {
XmlElementRefsWriter refsw = field.annotate2(XmlElementRefsWriter.class);
for( CElement e : elements ) {
refw = refsw.value();
refw.name(e.getElementName().getLocalPart())
.namespace(e.getElementName().getNamespaceURI())
.type(e.getType().toType(outline.parent(),IMPLEMENTATION));
if(getOptions().target.isLaterThan(SpecVersion.V2_2))
refw.required(rp.isRequired());
}
}
if(rp.isMixed())
field.annotate(XmlMixed.class);
NClass dh = rp.getDOMHandler();
if(dh!=null) {
XmlAnyElementWriter xaew = field.annotate2(XmlAnyElementWriter.class);
xaew.lax(rp.getWildcard().allowTypedObject);
final JClass value = dh.toType(outline.parent(),IMPLEMENTATION);
if(!value.equals(codeModel.ref(W3CDomHandler.class))) {
xaew.value(value);
}