private String toXml(XMLElement element, boolean openElement, boolean closeElement) { Renderer renderer = new Renderer(element); StringBuffer xml = new StringBuffer(); if (openElement) { xml.append(renderer.getOpeningElement()); } xml.append(renderer.getElementContent()); if (closeElement) { xml.append(renderer.getClosingElement()); } return xml.toString(); } }
public void write(Stanza stanza) { Renderer renderer = new Renderer(stanza); System.out.print(renderer.getOpeningElement() + renderer.getElementContent()); if (isFirst) closingElement = renderer.getClosingElement(); else System.out.print(closingElement); isFirst = false; }
/** * {@inheritDoc} */ public void write(Stanza stanza) { // handle stream open Renderer renderer = new Renderer(stanza); if("stream".equals(stanza.getName()) && NamespaceURIs.HTTP_ETHERX_JABBER_ORG_STREAMS.equals(stanza.getNamespaceURI())) { // stream:stream and stream:features comes at the same time, split them send(renderer.getOpeningElement()); send(renderer.getElementContent()); } else { send(renderer.getComplete()); } }
byteBuffer.putString(renderer.getOpeningElement(), getSessionEncoder()); if (stanzaWriteInfo.isWriteContent()) byteBuffer.putString(renderer.getElementContent(), getSessionEncoder()); if (stanzaWriteInfo.isWriteClosingElement()) byteBuffer.putString(renderer.getClosingElement(), getSessionEncoder());
public void encode(IoSession ioSession, Object o, ProtocolEncoderOutput protocolEncoderOutput) throws Exception { if (!(o instanceof StanzaWriteInfo)) { throw new IllegalArgumentException("StanzaWriterProtocolEncoder only handles StanzaWriteInfo objects"); } StanzaWriteInfo stanzaWriteInfo = (StanzaWriteInfo) o; Stanza element = stanzaWriteInfo.getStanza(); Renderer renderer = new Renderer(element); IoBuffer byteBuffer = IoBuffer.allocate(16).setAutoExpand(true); if (stanzaWriteInfo.isWriteProlog()) byteBuffer.putString(StanzaWriter.XML_PROLOG, getSessionEncoder()); if (stanzaWriteInfo.isWriteOpeningElement()) byteBuffer.putString(renderer.getOpeningElement(), getSessionEncoder()); if (stanzaWriteInfo.isWriteContent()) byteBuffer.putString(renderer.getElementContent(), getSessionEncoder()); if (stanzaWriteInfo.isWriteClosingElement()) byteBuffer.putString(renderer.getClosingElement(), getSessionEncoder()); byteBuffer.flip(); protocolEncoderOutput.write(byteBuffer); }