/** * INTERNAL: */ public void setMarshaller(XMLMarshaller marshaller) { super.setMarshaller(marshaller); attributePrefix = marshaller.getAttributePrefix(); encoder = Charset.forName(marshaller.getEncoding()).newEncoder(); if (marshaller.getValueWrapper() != null) { textWrapperFragment = new XPathFragment(); textWrapperFragment.setLocalName(marshaller.getValueWrapper()); } characterEscapeHandler = marshaller.getCharacterEscapeHandler(); writer.setMarshaller(marshaller); }
try { if (characterEscapeHandler != null) { writer.writeResultFromCharEscapeHandler(value, isAttribute); return; switch (character){ case '"' : { writer.write("\\\""); break; writer.write("\\b"); break; writer.write("\\f"); break; writer.write("\\n"); break; writer.write("\\r"); break; writer.write("\\t"); break; writer.write("\\\\"); break; writer.write("\\u");
protected void writeKey(XPathFragment xPathFragment) throws IOException { super.openStartElement(xPathFragment, namespaceResolver); writer.write('"'); if(xPathFragment.isAttribute() && attributePrefix != null){ writer.writeAttributePrefix(); } if(isNamespaceAware()){ if(xPathFragment.getNamespaceURI() != null){ String prefix = null; if(getNamespaceResolver() !=null){ prefix = getNamespaceResolver().resolveNamespaceURI(xPathFragment.getNamespaceURI()); } else if(namespaceResolver != null){ prefix = namespaceResolver.resolveNamespaceURI(xPathFragment.getNamespaceURI()); } if(prefix != null && !prefix.equals(Constants.EMPTY_STRING)){ writer.write(prefix); writer.writeNamespaceSeparator(); } } } writer.writeLocalName(xPathFragment); writer.write('"'); writeSeparator(); }
level.setFirst(false); } else { writer.write(','); writer.write('['); writer.write(' '); level.setEmptyCollection(false); level.setNeedToOpenComplex(false); writer.write('{'); level.setNeedToOpenComplex(false); level.setNeedToCloseComplex(true); writer.write(' '); } else { writer.writeCR(); for (int x = 0; x < numberOfTabs; x++) { writeValue(tab(), false); writer.write('['); writer.write(' '); level.setEmptyCollection(false);
level.setFirst(false); } else { writer.write(','); writer.write('['); writer.write(' '); level.setEmptyCollection(false); level.setNeedToOpenComplex(false); writer.write('{'); level.setNeedToOpenComplex(false); level.setNeedToCloseComplex(true); writer.write(' '); } else { writer.writeCR(); for (int x = 0; x < numberOfTabs; x++) { writeValue(tab(), false); writer.write('['); writer.write(' '); level.setEmptyCollection(false);
try { if (characterEscapeHandler != null) { writer.writeResultFromCharEscapeHandler(value, isAttribute); return; switch (character){ case '"' : { writer.write("\\\""); break; writer.write("\\b"); break; writer.write("\\f"); break; writer.write("\\n"); break; writer.write("\\r"); break; writer.write("\\t"); break; writer.write("\\\\"); break; writer.write("\\u");
/** * INTERNAL: */ public void characters(String value, boolean isString, boolean isAttribute) { boolean textWrapperOpened = false; if(!charactersAllowed){ if(textWrapperFragment != null){ openStartElement(textWrapperFragment, namespaceResolver); textWrapperOpened = true; } } level.setNeedToOpenComplex(false); try { if(isString){ writer.write('"'); writeValue(value, isAttribute); writer.write('"'); }else{ writer.write(value); } } catch (IOException e) { throw XMLMarshalException.marshalException(e); } if(textWrapperOpened){ if(textWrapperFragment != null){ endElement(textWrapperFragment, namespaceResolver); } } }
protected void writeKey(XPathFragment xPathFragment) throws IOException { if (xPathFragment.getLocalName() != null && !xPathFragment.getLocalName().equals(Constants.EMPTY_STRING)) { super.openStartElement(xPathFragment, namespaceResolver); writer.write('"'); if (xPathFragment.isAttribute() && attributePrefix != null) { writer.writeAttributePrefix(); } if (isNamespaceAware()) { if (xPathFragment.getNamespaceURI() != null) { String prefix = null; if (getNamespaceResolver() != null) { prefix = getNamespaceResolver().resolveNamespaceURI(xPathFragment.getNamespaceURI()); } else if (namespaceResolver != null) { prefix = namespaceResolver.resolveNamespaceURI(xPathFragment.getNamespaceURI()); } if (prefix != null && !prefix.equals(Constants.EMPTY_STRING)) { writer.write(prefix); writer.writeNamespaceSeparator(); } } } writer.writeLocalName(xPathFragment); writer.write('"'); writeSeparator(); } }
/** * INTERNAL: */ public void endElement(XPathFragment xPathFragment, NamespaceResolver namespaceResolver) { try{ if(null != level) { if(level.needToOpenComplex){ writer.write('{'); closeComplex(); } else if(level.needToCloseComplex){ closeComplex(); } charactersAllowed = false; level = level.getPreviousLevel(); } } catch (IOException e) { throw XMLMarshalException.marshalException(e); } }
/** * INTERNAL: */ public void startDocument(String encoding, String version) { try { if(null != level) { if(level.isFirst()) { level.setFirst(false); } else { writeListSeparator(); } }else if(callbackName != null){ startCallback(); } level = new Level(true, false, level); writer.write('{'); } catch (IOException e) { throw XMLMarshalException.marshalException(e); } }
@Override public void endCollection() { try { if(level != null && null == level.getPreviousLevel()) { writer.write(']'); endCallback(); } else { if(level != null && level.isCollection() && !level.isEmptyCollection()) { writer.write(']'); } } level.setCollection(false); } catch (IOException e) { throw XMLMarshalException.marshalException(e); } }
@Override public void startCollection() { if(null == level) { try { startCallback(); writer.write('['); level = new Level(true, false, level); } catch(IOException e) { throw XMLMarshalException.marshalException(e); } } else { level.setCollection(true); level.setEmptyCollection(true); charactersAllowed = false; } }
/** * INTERNAL: */ public void startDocument(String encoding, String version) { try { if(null != level) { if(level.isFirst()) { level.setFirst(false); } else { writeListSeparator(); } }else if(callbackName != null){ startCallback(); } level = new Level(true, false, level); writer.write('{'); } catch (IOException e) { throw XMLMarshalException.marshalException(e); } }
/** * INTERNAL: */ public void endElement(XPathFragment xPathFragment, NamespaceResolver namespaceResolver) { try{ if(null != level) { if(level.needToOpenComplex){ writer.write('{'); closeComplex(); } else if(level.needToCloseComplex){ closeComplex(); } charactersAllowed = false; level = level.getPreviousLevel(); } } catch (IOException e) { throw XMLMarshalException.marshalException(e); } }
protected void writeSeparator() throws IOException{ writer.write(Constants.COLON); }
@Override public void endCollection() { try { if(level != null && null == level.getPreviousLevel()) { writer.write(']'); endCallback(); } else { if(level != null && level.isCollection() && !level.isEmptyCollection()) { writer.write(']'); } } level.setCollection(false); } catch (IOException e) { throw XMLMarshalException.marshalException(e); } }
@Override public void startCollection() { if(null == level) { try { startCallback(); writer.write('['); level = new Level(true, false, level); } catch(IOException e) { throw XMLMarshalException.marshalException(e); } } else { level.setCollection(true); level.setEmptyCollection(true); charactersAllowed = false; } }