private static void classToXML(Document xmldoc, Element parent, Class<?> clazz, String preAppendToSimpleClassName) throws Exception { int mods=clazz.getModifiers(); boolean isConcreteClass=!Modifier.isAbstract(mods); boolean is_public=Modifier.isPublic(mods); boolean generate=is_public && isConcreteClass && !clazz.isAnonymousClass(); if(!generate) return; XmlInclude incl=Util.getAnnotation(clazz, XmlInclude.class); if(incl != null) { String[] schemas=incl.schema(); if(schemas != null) { for(String schema: schemas) { Element incl_el=xmldoc.createElement(incl.type() == XmlInclude.Type.IMPORT? "xs:import" : "xs:include"); if(incl.namespace() != null && !incl.namespace().isEmpty()) incl_el.setAttribute("namespace",incl.namespace()); incl_el.setAttribute("schemaLocation", schema); Node first_child=xmldoc.getDocumentElement().getFirstChild(); if(first_child == null) xmldoc.getDocumentElement().appendChild(incl_el); else xmldoc.getDocumentElement().insertBefore(incl_el, first_child); } } if(incl.alias() != null && !incl.alias().isEmpty()) xmldoc.getDocumentElement().setAttribute("xmlns:" + incl.alias(), incl.namespace()); } parent.appendChild(createXMLTree(xmldoc, clazz, preAppendToSimpleClassName)); }
private static void classToXML(Document xmldoc, Element parent, Class<?> clazz, String preAppendToSimpleClassName) throws Exception { int mods=clazz.getModifiers(); boolean isConcreteClass=!Modifier.isAbstract(mods); boolean is_public=Modifier.isPublic(mods); boolean generate=is_public && isConcreteClass && !clazz.isAnonymousClass(); if(!generate) return; XmlInclude incl=Util.getAnnotation(clazz, XmlInclude.class); if(incl != null) { String[] schemas=incl.schema(); if(schemas != null) { for(String schema: schemas) { Element incl_el=xmldoc.createElement(incl.type() == XmlInclude.Type.IMPORT? "xs:import" : "xs:include"); if(incl.namespace() != null && !incl.namespace().isEmpty()) incl_el.setAttribute("namespace",incl.namespace()); incl_el.setAttribute("schemaLocation", schema); Node first_child=xmldoc.getDocumentElement().getFirstChild(); if(first_child == null) xmldoc.getDocumentElement().appendChild(incl_el); else xmldoc.getDocumentElement().insertBefore(incl_el, first_child); } } if(incl.alias() != null && !incl.alias().isEmpty()) xmldoc.getDocumentElement().setAttribute("xmlns:" + incl.alias(), incl.namespace()); } parent.appendChild(createXMLTree(xmldoc, clazz, preAppendToSimpleClassName)); }
private static void classToXML(Document xmldoc, Element parent, Class<?> clazz, String preAppendToSimpleClassName) throws Exception { int mods=clazz.getModifiers(); boolean isConcreteClass=!Modifier.isAbstract(mods); boolean is_public=Modifier.isPublic(mods); boolean generate=is_public && isConcreteClass && !clazz.isAnonymousClass(); if(!generate) return; XmlInclude incl=Util.getAnnotation(clazz, XmlInclude.class); if(incl != null) { String[] schemas=incl.schema(); if(schemas != null) { for(String schema: schemas) { Element incl_el=xmldoc.createElement(incl.type() == XmlInclude.Type.IMPORT? "xs:import" : "xs:include"); if(incl.namespace() != null && !incl.namespace().isEmpty()) incl_el.setAttribute("namespace",incl.namespace()); incl_el.setAttribute("schemaLocation", schema); Node first_child=xmldoc.getDocumentElement().getFirstChild(); if(first_child == null) xmldoc.getDocumentElement().appendChild(incl_el); else xmldoc.getDocumentElement().insertBefore(incl_el, first_child); } } if(incl.alias() != null && !incl.alias().isEmpty()) xmldoc.getDocumentElement().setAttribute("xmlns:" + incl.alias(), incl.namespace()); } parent.appendChild(createXMLTree(xmldoc, clazz, preAppendToSimpleClassName)); }