/** * Create a custom, non-JAXP 1.4 StAX {@link Source} for the given {@link XMLEventReader}. * @param eventReader the StAX event reader * @return a source wrapping the {@code eventReader} */ public static Source createCustomStaxSource(XMLEventReader eventReader) { return new StaxSource(eventReader); }
/** * Return the {@link XMLEventReader} for the given StAX Source. * @param source a JAXP 1.4 {@link StAXSource} * @return the {@link XMLEventReader} * @throws IllegalArgumentException if {@code source} isn't a JAXP 1.4 {@link StAXSource} * or custom StAX Source */ @Nullable public static XMLEventReader getXMLEventReader(Source source) { if (source instanceof StAXSource) { return ((StAXSource) source).getXMLEventReader(); } else if (source instanceof StaxSource) { return ((StaxSource) source).getXMLEventReader(); } else { throw new IllegalArgumentException("Source '" + source + "' is neither StaxSource nor StAXSource"); } }
/** * Return the {@link XMLStreamReader} for the given StAX Source. * @param source a JAXP 1.4 {@link StAXSource} * @return the {@link XMLStreamReader} * @throws IllegalArgumentException if {@code source} isn't a JAXP 1.4 {@link StAXSource} * or custom StAX Source */ @Nullable public static XMLStreamReader getXMLStreamReader(Source source) { if (source instanceof StAXSource) { return ((StAXSource) source).getXMLStreamReader(); } else if (source instanceof StaxSource) { return ((StaxSource) source).getXMLStreamReader(); } else { throw new IllegalArgumentException("Source '" + source + "' is neither StaxSource nor StAXSource"); } }
@Test public void eventReaderSourceToDOMResult() throws Exception { XMLEventReader eventReader = inputFactory.createXMLEventReader(new StringReader(XML)); StaxSource source = new StaxSource(eventReader); assertEquals("Invalid eventReader returned", eventReader, source.getXMLEventReader()); assertNull("StreamReader returned", source.getXMLStreamReader()); Document expected = documentBuilder.parse(new InputSource(new StringReader(XML))); Document result = documentBuilder.newDocument(); transformer.transform(source, new DOMResult(result)); assertThat("Invalid result", result, isSimilarTo(expected)); } }
@Test public void streamReaderSourceToDOMResult() throws Exception { XMLStreamReader streamReader = inputFactory.createXMLStreamReader(new StringReader(XML)); StaxSource source = new StaxSource(streamReader); assertEquals("Invalid streamReader returned", streamReader, source.getXMLStreamReader()); assertNull("EventReader returned", source.getXMLEventReader()); Document expected = documentBuilder.parse(new InputSource(new StringReader(XML))); Document result = documentBuilder.newDocument(); transformer.transform(source, new DOMResult(result)); assertThat("Invalid result", result, isSimilarTo(expected)); }
@Test public void streamReaderSourceToStreamResult() throws Exception { XMLStreamReader streamReader = inputFactory.createXMLStreamReader(new StringReader(XML)); StaxSource source = new StaxSource(streamReader); assertEquals("Invalid streamReader returned", streamReader, source.getXMLStreamReader()); assertNull("EventReader returned", source.getXMLEventReader()); StringWriter writer = new StringWriter(); transformer.transform(source, new StreamResult(writer)); assertThat("Invalid result", writer.toString(), isSimilarTo(XML)); }
/** * Create a custom, non-JAXP 1.4 StAX {@link Source} for the given {@link XMLStreamReader}. * @param streamReader the StAX stream reader * @return a source wrapping the {@code streamReader} */ public static Source createCustomStaxSource(XMLStreamReader streamReader) { return new StaxSource(streamReader); }
/** * Return the {@link XMLStreamReader} for the given StAX Source. * @param source a JAXP 1.4 {@link StAXSource} * @return the {@link XMLStreamReader} * @throws IllegalArgumentException if {@code source} isn't a JAXP 1.4 {@link StAXSource} * or custom StAX Source */ @Nullable public static XMLStreamReader getXMLStreamReader(Source source) { if (source instanceof StAXSource) { return ((StAXSource) source).getXMLStreamReader(); } else if (source instanceof StaxSource) { return ((StaxSource) source).getXMLStreamReader(); } else { throw new IllegalArgumentException("Source '" + source + "' is neither StaxSource nor StAXSource"); } }
/** * Return the {@link XMLEventReader} for the given StAX Source. * @param source a JAXP 1.4 {@link StAXSource} * @return the {@link XMLEventReader} * @throws IllegalArgumentException if {@code source} isn't a JAXP 1.4 {@link StAXSource} * or custom StAX Source */ @Nullable public static XMLEventReader getXMLEventReader(Source source) { if (source instanceof StAXSource) { return ((StAXSource) source).getXMLEventReader(); } else if (source instanceof StaxSource) { return ((StaxSource) source).getXMLEventReader(); } else { throw new IllegalArgumentException("Source '" + source + "' is neither StaxSource nor StAXSource"); } }
@Test public void eventReaderSourceToStreamResult() throws Exception { XMLEventReader eventReader = inputFactory.createXMLEventReader(new StringReader(XML)); StaxSource source = new StaxSource(eventReader); assertEquals("Invalid eventReader returned", eventReader, source.getXMLEventReader()); assertNull("StreamReader returned", source.getXMLStreamReader()); StringWriter writer = new StringWriter(); transformer.transform(source, new StreamResult(writer)); assertThat("Invalid result", writer.toString(), isSimilarTo(XML)); }
/** * Create a custom, non-JAXP 1.4 StAX {@link Source} for the given {@link XMLStreamReader}. * @param streamReader the StAX stream reader * @return a source wrapping the {@code streamReader} */ public static Source createCustomStaxSource(XMLStreamReader streamReader) { return new StaxSource(streamReader); }
/** * Return the {@link XMLStreamReader} for the given StAX Source. * @param source a {@linkplain #createCustomStaxSource(XMLStreamReader) custom StAX Source} or * JAXP 1.4 {@link StAXSource} * @return the {@link XMLStreamReader} * @throws IllegalArgumentException if {@code source} is neither a custom StAX Source * nor JAXP 1.4 {@link StAXSource} */ public static XMLStreamReader getXMLStreamReader(Source source) { if (source instanceof StaxSource) { return ((StaxSource) source).getXMLStreamReader(); } else if (jaxp14Available) { return Jaxp14StaxHandler.getXMLStreamReader(source); } else { throw new IllegalArgumentException("Source '" + source + "' is neither StaxSource nor StAXSource"); } }
/** * Return the {@link XMLEventReader} for the given StAX Source. * @param source a {@linkplain #createCustomStaxSource(XMLEventReader) custom StAX Source} or * JAXP 1.4 {@link StAXSource} * @return the {@link XMLEventReader} * @throws IllegalArgumentException if {@code source} is neither a custom StAX Source * nor a JAXP 1.4 {@link StAXSource} */ public static XMLEventReader getXMLEventReader(Source source) { if (source instanceof StaxSource) { return ((StaxSource) source).getXMLEventReader(); } else if (jaxp14Available) { return Jaxp14StaxHandler.getXMLEventReader(source); } else { throw new IllegalArgumentException("Source '" + source + "' is neither StaxSource nor StAXSource"); } }
/** * Create a custom, non-JAXP 1.4 StAX {@link Source} for the given {@link XMLEventReader}. * @param eventReader the StAX event reader * @return a source wrapping the {@code eventReader} */ public static Source createCustomStaxSource(XMLEventReader eventReader) { return new StaxSource(eventReader); }
/** * Return the {@link XMLStreamReader} for the given StAX Source. * @param source a JAXP 1.4 {@link StAXSource} * @return the {@link XMLStreamReader} * @throws IllegalArgumentException if {@code source} isn't a JAXP 1.4 {@link StAXSource} * or custom StAX Source */ @Nullable public static XMLStreamReader getXMLStreamReader(Source source) { if (source instanceof StAXSource) { return ((StAXSource) source).getXMLStreamReader(); } else if (source instanceof StaxSource) { return ((StaxSource) source).getXMLStreamReader(); } else { throw new IllegalArgumentException("Source '" + source + "' is neither StaxSource nor StAXSource"); } }
/** * Return the {@link XMLEventReader} for the given StAX Source. * @param source a JAXP 1.4 {@link StAXSource} * @return the {@link XMLEventReader} * @throws IllegalArgumentException if {@code source} isn't a JAXP 1.4 {@link StAXSource} * or custom StAX Source */ @Nullable public static XMLEventReader getXMLEventReader(Source source) { if (source instanceof StAXSource) { return ((StAXSource) source).getXMLEventReader(); } else if (source instanceof StaxSource) { return ((StaxSource) source).getXMLEventReader(); } else { throw new IllegalArgumentException("Source '" + source + "' is neither StaxSource nor StAXSource"); } }
/** * Create a custom, non-JAXP 1.4 StAX {@link Source} for the given {@link XMLStreamReader}. * * @param streamReader the StAX stream reader * @return a source wrapping the {@code streamReader} */ public static Source createCustomStaxSource(XMLStreamReader streamReader) { return new StaxSource(streamReader); }
/** * Create a custom, non-JAXP 1.4 StAX {@link Source} for the given {@link XMLEventReader}. * * @param eventReader the StAX event reader * @return a source wrapping the {@code eventReader} */ public static Source createCustomStaxSource(XMLEventReader eventReader) { return new StaxSource(eventReader); }
/** * Create a custom, non-JAXP 1.4 StAX {@link Source} for the given {@link XMLEventReader}. * @param eventReader the StAX event reader * @return a source wrapping the {@code eventReader} */ public static Source createCustomStaxSource(XMLEventReader eventReader) { return new StaxSource(eventReader); }
/** * Create a custom, non-JAXP 1.4 StAX {@link Source} for the given {@link XMLStreamReader}. * @param streamReader the StAX stream reader * @return a source wrapping the {@code streamReader} */ public static Source createCustomStaxSource(XMLStreamReader streamReader) { return new StaxSource(streamReader); }