public void serializeBody(Object array, XMLSerializer target) throws SAXException, IOException, XMLStreamException { int len = Array.getLength(array); for( int i=0; i<len; i++ ) { Object item = Array.get(array,i); // TODO: check the namespace URI. target.startElement("","item",null,null); if(item==null) { target.writeXsiNilTrue(); } else { target.childAsXsiType(item,"arrayItem",itemBeanInfo, false); } target.endElement(); } }
@Override public void serializeBody(BeanT o, XMLSerializer w, Object outerPeer) throws SAXException, AccessorException, IOException, XMLStreamException { ValueT v = acc.get(o); if(v!=null) { bareStartTag(w,tagName,v); for( Map.Entry e : (Set<Map.Entry>)v.entrySet() ) { bareStartTag(w,entryTag,null); Object key = e.getKey(); if(key!=null) { w.startElement(keyTag,key); w.childAsXsiType(key,fieldName,keyBeanInfo, false); w.endElement(); } Object value = e.getValue(); if(value!=null) { w.startElement(valueTag,value); w.childAsXsiType(value,fieldName,valueBeanInfo, false); w.endElement(); } w.endElement(); } w.endElement(); } else if(nillable) { w.startElement(tagName,null); w.writeXsiNilTrue(); w.endElement(); } }
public void endElement(String namespaceURI, String localName, String qName) throws SAXException { try { flushText(); serializer.endElement(); } catch (IOException e) { throw new SAXException2(e); } catch (XMLStreamException e) { throw new SAXException2(e); } }
public void marshal(T value, XMLSerializer out) throws IOException, SAXException, XMLStreamException { out.startElement(tagName,null); if(value==null) { out.writeXsiNilTrue(); } else { out.childAsXsiType(value,null,bi,false); } out.endElement(); }
public void serializeRoot(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException { if(tagName==null) { Class beanClass = bean.getClass(); String message; if (beanClass.isAnnotationPresent(XmlRootElement.class)) { message = Messages.UNABLE_TO_MARSHAL_UNBOUND_CLASS.format(beanClass.getName()); } else { message = Messages.UNABLE_TO_MARSHAL_NON_ELEMENT.format(beanClass.getName()); } target.reportError(new ValidationEventImpl(ValidationEvent.ERROR,message,null, null)); } else { target.startElement(tagName,bean); target.childAsSoleContent(bean,null); target.endElement(); if (retainPropertyInfo) { target.currentProperty.remove(); } } }
public final void serializeRoot(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException { if(tagName==null) { target.reportError( new ValidationEventImpl( ValidationEvent.ERROR, Messages.UNABLE_TO_MARSHAL_NON_ELEMENT.format(bean.getClass().getName()), null, null)); } else { target.startElement(tagName,bean); target.childAsSoleContent(bean,null); target.endElement(); } }
w.childAsXsiType(v,fieldName,tt.beanInfo, addNilDecl && nillable); w.endElement(); } else if (nillable) { w.startElement(nullTagName,null); w.writeXsiNilTrue(); w.endElement();
public final void serializeBody(BeanT o, XMLSerializer w, Object outerPeer) throws SAXException, AccessorException, IOException, XMLStreamException { ListT list = acc.get(o); if(list!=null) { if(wrapperTagName!=null) { w.startElement(wrapperTagName,null); w.endNamespaceDecls(list); w.endAttributes(); } serializeListBody(o,w,list); if(wrapperTagName!=null) w.endElement(); } else { // list is null if(isWrapperNillable) { w.startElement(wrapperTagName,null); w.writeXsiNilTrue(); w.endElement(); } // otherwise don't print the wrapper tag name } }
w.endElement(); } else { if(nillableTagName!=null) { w.startElement(nillableTagName,null); w.writeXsiNilTrue(); w.endElement();
@Override public void writeLeafElement(XMLSerializer w, Name tagName, BeanT o, String fieldName) throws SAXException, AccessorException, IOException, XMLStreamException { w.startElement(tagName,null); declareNamespace(o,w); w.endNamespaceDecls(null); w.endAttributes(); xducer.writeText(w,acc.get(o),fieldName); w.endElement(); } }
public void leafElement( Name tagName, String data, String fieldName ) throws SAXException, IOException, XMLStreamException { if(seenRoot) { textHasAlreadyPrinted = false; nse = nse.push(); out.beginStartTag(tagName); out.endStartTag(); if(data != null) try { out.text(data,false); } catch (IllegalArgumentException e) { throw new IllegalArgumentException(Messages.ILLEGAL_CONTENT.format(fieldName, e.getMessage())); } out.endTag(tagName); nse = nse.pop(); } else { // root element has additional processing like xsi:schemaLocation, // so we need to go the slow way startElement(tagName,null); endNamespaceDecls(null); endAttributes(); try { out.text(data, false); } catch (IllegalArgumentException e) { throw new IllegalArgumentException(Messages.ILLEGAL_CONTENT.format(fieldName, e.getMessage())); } endElement(); } }
@Override public void serializeBody(BeanT o, XMLSerializer w, Object outerPeer) throws SAXException, AccessorException, IOException, XMLStreamException { boolean hasValue = xacc.hasValue(o); Object obj = null; try { obj = acc.getUnadapted(o); } catch (AccessorException ae) { ; // noop } Class valueType = acc.getValueType(); // check for different type than expected. If found, add xsi:type declaration if (xsiTypeNeeded(o, w, obj, valueType)) { w.startElement(tagName, outerPeer); w.childAsXsiType(obj, fieldName, w.grammar.getBeanInfo(valueType), false); w.endElement(); } else { // current type is expected if (hasValue) { xacc.writeLeafElement(w, tagName, o, fieldName); } else if (nillable) { w.startElement(tagName, null); w.writeXsiNilTrue(); w.endElement(); } } }
target.childAsXsiType(value,"value",tbi, false); target.endElement(); } else { try {
@Override public void serializeBody(BeanT o, XMLSerializer w, Object outerPeer) throws SAXException, AccessorException, IOException, XMLStreamException { ListT list = acc.get(o); if(list!=null) { if(xacc.useNamespace()) { w.startElement(tagName,null); xacc.declareNamespace(o,w); w.endNamespaceDecls(list); w.endAttributes(); xacc.writeText(w,o,fieldName); w.endElement(); } else { xacc.writeLeafElement(w, tagName, o, fieldName); } } }
public void leafElement( Name tagName, Pcdata data, String fieldName ) throws SAXException, IOException, XMLStreamException { if(seenRoot) { textHasAlreadyPrinted = false; nse = nse.push(); out.beginStartTag(tagName); out.endStartTag(); if(data != null) out.text(data,false); out.endTag(tagName); nse = nse.pop(); } else { // root element has additional processing like xsi:schemaLocation, // so we need to go the slow way startElement(tagName,null); endNamespaceDecls(null); endAttributes(); out.text(data,false); endElement(); } }
serializer.childAsXsiType(obj,"root",bi, false); serializer.endElement(); postwrite(); } catch( SAXException e ) {
public void serializeBody(Object array, XMLSerializer target) throws SAXException, IOException, XMLStreamException { int len = Array.getLength(array); for( int i=0; i<len; i++ ) { Object item = Array.get(array,i); // TODO: check the namespace URI. target.startElement("","item",null,null); if(item==null) { target.writeXsiNilTrue(); } else { target.childAsXsiType(item,"arrayItem",itemBeanInfo, false); } target.endElement(); } }
public void endElement(String namespaceURI, String localName, String qName) throws SAXException { try { flushText(); serializer.endElement(); } catch (IOException e) { throw new SAXException2(e); } catch (XMLStreamException e) { throw new SAXException2(e); } }
public void marshal(T value, XMLSerializer out) throws IOException, SAXException, XMLStreamException { out.startElement(tagName,null); if(value==null) { out.writeXsiNilTrue(); } else { out.childAsXsiType(value,null,bi,false); } out.endElement(); }
@Override public void writeLeafElement(XMLSerializer w, Name tagName, BeanT o, String fieldName) throws SAXException, AccessorException, IOException, XMLStreamException { w.startElement(tagName,null); declareNamespace(o,w); w.endNamespaceDecls(null); w.endAttributes(); xducer.writeText(w,acc.get(o),fieldName); w.endElement(); } }