private String getEffectiveNamespaceFor(XmlElementRef r) { String nsUri = r.namespace(); XmlSchema xs = reader().getPackageAnnotation( XmlSchema.class, parent.getClazz(), this ); if(xs!=null && xs.attributeFormDefault()== XmlNsForm.QUALIFIED) { // JAX-RPC doesn't want the default namespace URI swapping to take effect to // local "unqualified" elements. UGLY. if(nsUri.length()==0) nsUri = parent.builder.defaultNsUri; } return nsUri; }
public final XmlNsForm getElementFormDefault(String nsUri) { for (ClassInfoImpl<T, C, F, M> ci : beans().values()) { XmlSchema xs = reader.getPackageAnnotation( XmlSchema.class, ci.getClazz(), null ); if(xs==null) continue; if(!xs.namespace().equals(nsUri)) continue; XmlNsForm xnf = xs.elementFormDefault(); if(xnf!=XmlNsForm.UNSET) return xnf; } return XmlNsForm.UNSET; }
public final XmlNsForm getAttributeFormDefault(String nsUri) { for (ClassInfoImpl<T,C,F,M> ci : beans().values()) { XmlSchema xs = reader.getPackageAnnotation( XmlSchema.class, ci.getClazz(), null ); if(xs==null) continue; if(!xs.namespace().equals(nsUri)) continue; XmlNsForm xnf = xs.attributeFormDefault(); if(xnf!=XmlNsForm.UNSET) return xnf; } return XmlNsForm.UNSET; }
private void generatePackageInfo(String className, String ns, Class clz) { ClassWriter cw = createClassWriter(); String classFileName = periodToSlashes(className); cw.visit(Opcodes.V1_5, Opcodes.ACC_ABSTRACT + Opcodes.ACC_INTERFACE, classFileName, null, "java/lang/Object", null); boolean q = qualified; SchemaInfo si = interfaceInfo.getService().getSchema(ns); if (si != null) { q = si.isElementFormQualified(); } AnnotationVisitor av0 = cw.visitAnnotation("Ljavax/xml/bind/annotation/XmlSchema;", true); av0.visit("namespace", ns); av0.visitEnum("elementFormDefault", getClassCode(XmlNsForm.class), q ? "QUALIFIED" : "UNQUALIFIED"); av0.visitEnd(); if (clz.getPackage() != null && clz.getPackage().getAnnotations() != null) { for (Annotation ann : clz.getPackage().getAnnotations()) { if (ann instanceof XmlJavaTypeAdapters) { av0 = cw.visitAnnotation("Ljavax/xml/bind/annotation/adapters/XmlJavaTypeAdapters;", true); generateXmlJavaTypeAdapters(av0, (XmlJavaTypeAdapters)ann); av0.visitEnd(); } else if (ann instanceof XmlJavaTypeAdapter) { av0 = cw.visitAnnotation("Ljavax/xml/bind/annotation/adapters/XmlJavaTypeAdapter;", true); generateXmlJavaTypeAdapter(av0, (XmlJavaTypeAdapter)ann); av0.visitEnd(); } } } cw.visitEnd(); loadClass(className, clz, cw.toByteArray()); }
public XmlNsForm elementFormDefault() { return core.elementFormDefault(); }
public XmlNsForm attributeFormDefault() { return core.attributeFormDefault(); }
public XmlNsForm getElementFormDefault(String nsUri) { throw new UnsupportedOperationException(); }
public XmlNsForm getAttributeFormDefault(String nsUri) { throw new UnsupportedOperationException(); }