Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
Woodstox 6.4.0 - Source Code Files
Woodstox 6.4.0 Source Code Files are provided at the Woodstox GitHub Website.
You can download them from the "src/main/java" folder.
You can also browse Woodstox Source Code files below:
✍: FYIcenter
⏎ com/ctc/wstx/sw/TypedStreamWriter.java
/* Woodstox XML processor * * Copyright (c) 2004- Tatu Saloranta, tatu.saloranta@iki.fi * * Licensed under the License specified in file LICENSE, included with * the source code. * You may not use this file except in compliance with the License. * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.ctc.wstx.sw; import java.io.IOException; import java.math.BigDecimal; import java.math.BigInteger; import javax.xml.namespace.QName; import javax.xml.stream.XMLStreamException; import org.codehaus.stax2.typed.Base64Variant; import org.codehaus.stax2.typed.Base64Variants; import org.codehaus.stax2.ri.typed.AsciiValueEncoder; import org.codehaus.stax2.ri.typed.ValueEncoderFactory; import org.codehaus.stax2.validation.XMLValidator; import com.ctc.wstx.api.WriterConfig; import com.ctc.wstx.cfg.ErrorConsts; import com.ctc.wstx.exc.WstxIOException; /** * Intermediate base class that implements Typed Access API (Stax2 v3) * for all (repairing, non-repairing, non-namespace) native stream * writer implementations. */ public abstract class TypedStreamWriter extends BaseStreamWriter { /** * When outputting using Typed Access API, we will need * encoders. If so, they will created by lazily-constructed * factory */ protected ValueEncoderFactory mValueEncoderFactory; /* //////////////////////////////////////////////////// // Life-cycle //////////////////////////////////////////////////// */ protected TypedStreamWriter(XmlWriter xw, String enc, WriterConfig cfg) { super(xw, enc, cfg); } protected final ValueEncoderFactory valueEncoderFactory() { if (mValueEncoderFactory == null) { mValueEncoderFactory = new ValueEncoderFactory(); } return mValueEncoderFactory; } /* ///////////////////////////////////////////////// // TypedXMLStreamWriter2 implementation // (Typed Access API, Stax v3.0) ///////////////////////////////////////////////// */ // // // Typed element content write methods @Override public void writeBoolean(boolean value) throws XMLStreamException { writeTypedElement(valueEncoderFactory().getEncoder(value)); } @Override public void writeInt(int value) throws XMLStreamException { writeTypedElement(valueEncoderFactory().getEncoder(value)); } @Override public void writeLong(long value) throws XMLStreamException { writeTypedElement(valueEncoderFactory().getEncoder(value)); } @Override public void writeFloat(float value) throws XMLStreamException { writeTypedElement(valueEncoderFactory().getEncoder(value)); } @Override public void writeDouble(double value) throws XMLStreamException { writeTypedElement(valueEncoderFactory().getEncoder(value)); } @Override public void writeInteger(BigInteger value) throws XMLStreamException { /* No really efficient method exposed by JDK, keep it simple * (esp. considering that length is actually not bound) */ writeTypedElement(valueEncoderFactory().getScalarEncoder(value.toString())); } @Override public void writeDecimal(BigDecimal value) throws XMLStreamException { /* No really efficient method exposed by JDK, keep it simple * (esp. considering that length is actually not bound) */ writeTypedElement(valueEncoderFactory().getScalarEncoder(value.toString())); } @Override public void writeQName(QName name) throws XMLStreamException { /* Can't use AsciiValueEncoder, since QNames can contain * non-ascii characters */ writeCharacters(serializeQName(name)); } @Override public final void writeIntArray(int[] value, int from, int length) throws XMLStreamException { writeTypedElement(valueEncoderFactory().getEncoder(value, from, length)); } @Override public void writeLongArray(long[] value, int from, int length) throws XMLStreamException { writeTypedElement(valueEncoderFactory().getEncoder(value, from, length)); } @Override public void writeFloatArray(float[] value, int from, int length) throws XMLStreamException { writeTypedElement(valueEncoderFactory().getEncoder(value, from, length)); } @Override public void writeDoubleArray(double[] value, int from, int length) throws XMLStreamException { writeTypedElement(valueEncoderFactory().getEncoder(value, from, length)); } @Override public void writeBinary(byte[] value, int from, int length) throws XMLStreamException { Base64Variant v = Base64Variants.getDefaultVariant(); writeTypedElement(valueEncoderFactory().getEncoder(v, value, from, length)); } @Override public void writeBinary(Base64Variant v, byte[] value, int from, int length) throws XMLStreamException { writeTypedElement(valueEncoderFactory().getEncoder(v, value, from, length)); } protected final void writeTypedElement(AsciiValueEncoder enc) throws XMLStreamException { if (mStartElementOpen) { closeStartElement(mEmptyElement); } // How about well-formedness? if (mCheckStructure) { if (inPrologOrEpilog()) { reportNwfStructure(ErrorConsts.WERR_PROLOG_NONWS_TEXT); } } // Or validity? if (mVldContent <= XMLValidator.CONTENT_ALLOW_WS) { reportInvalidContent(CHARACTERS); } // So far so good: let's serialize try { XMLValidator vld = (mVldContent == XMLValidator.CONTENT_ALLOW_VALIDATABLE_TEXT) ? mValidator : null; if (vld == null) { mWriter.writeTypedElement(enc); } else { mWriter.writeTypedElement(enc, vld, getCopyBuffer()); } } catch (IOException ioe) { throw new WstxIOException(ioe); } } // // // Typed attribute value write methods @Override public void writeBooleanAttribute(String prefix, String nsURI, String localName, boolean value) throws XMLStreamException { writeTypedAttribute(prefix, nsURI, localName, valueEncoderFactory().getEncoder(value)); } @Override public void writeIntAttribute(String prefix, String nsURI, String localName, int value) throws XMLStreamException { writeTypedAttribute(prefix, nsURI, localName, valueEncoderFactory().getEncoder(value)); } @Override public void writeLongAttribute(String prefix, String nsURI, String localName, long value) throws XMLStreamException { writeTypedAttribute(prefix, nsURI, localName, valueEncoderFactory().getEncoder(value)); } @Override public void writeFloatAttribute(String prefix, String nsURI, String localName, float value) throws XMLStreamException { writeTypedAttribute(prefix, nsURI, localName, valueEncoderFactory().getEncoder(value)); } @Override public void writeDoubleAttribute(String prefix, String nsURI, String localName, double value) throws XMLStreamException { writeTypedAttribute(prefix, nsURI, localName, valueEncoderFactory().getEncoder(value)); } @Override public void writeIntegerAttribute(String prefix, String nsURI, String localName, BigInteger value) throws XMLStreamException { // not optimal, but has to do: writeTypedAttribute(prefix, nsURI, localName, valueEncoderFactory().getScalarEncoder(value.toString())); } @Override public void writeDecimalAttribute(String prefix, String nsURI, String localName, BigDecimal value) throws XMLStreamException { // not optimal, but has to do: writeTypedAttribute(prefix, nsURI, localName, valueEncoderFactory().getScalarEncoder(value.toString())); } @Override public void writeQNameAttribute(String prefix, String nsURI, String localName, QName name) throws XMLStreamException { /* Can't use AsciiValueEncoder, since QNames can contain * non-ascii characters */ writeAttribute(prefix, nsURI, localName, serializeQName(name)); } @Override public void writeIntArrayAttribute(String prefix, String nsURI, String localName, int[] value) throws XMLStreamException { writeTypedAttribute(prefix, nsURI, localName, valueEncoderFactory().getEncoder(value, 0, value.length)); } @Override public void writeLongArrayAttribute(String prefix, String nsURI, String localName, long[] value) throws XMLStreamException { writeTypedAttribute(prefix, nsURI, localName, valueEncoderFactory().getEncoder(value, 0, value.length)); } @Override public void writeFloatArrayAttribute(String prefix, String nsURI, String localName, float[] value) throws XMLStreamException { writeTypedAttribute(prefix, nsURI, localName, valueEncoderFactory().getEncoder(value, 0, value.length)); } @Override public void writeDoubleArrayAttribute(String prefix, String nsURI, String localName, double[] value) throws XMLStreamException { writeTypedAttribute(prefix, nsURI, localName, valueEncoderFactory().getEncoder(value, 0, value.length)); } @Override public void writeBinaryAttribute(String prefix, String nsURI, String localName, byte[] value) throws XMLStreamException { Base64Variant v = Base64Variants.getDefaultVariant(); writeTypedAttribute(prefix, nsURI, localName, valueEncoderFactory().getEncoder(v, value, 0, value.length)); } @Override public void writeBinaryAttribute(Base64Variant v, String prefix, String nsURI, String localName, byte[] value) throws XMLStreamException { writeTypedAttribute(prefix, nsURI, localName, valueEncoderFactory().getEncoder(v, value, 0, value.length)); } /** * Method that will write attribute with value that is known not to * require additional escaping. */ protected abstract void writeTypedAttribute(String prefix, String nsURI, String localName, AsciiValueEncoder enc) throws XMLStreamException; private String serializeQName(QName name) throws XMLStreamException { String vp = validateQNamePrefix(name); String local = name.getLocalPart(); if (vp == null || vp.length() == 0) { return local; } // Not efficient... but should be ok return vp + ":" + local; } }
⏎ com/ctc/wstx/sw/TypedStreamWriter.java
Or download all of them as a single archive file:
File name: woodstox-core-6.4.0-fyi.zip File size: 552992 bytes Release date: 2022-10-25 Download
⇒ woodstox-core-6.4.0.jar - Woodstox Core 6.4.0
⇐ What Is Woodstox XML Processing
2023-01-29, 15400👍, 0💬
Popular Posts:
What Is poi-ooxml-5.2.3.jar? poi-ooxml-5.2.3.jar is one of the JAR files for Apache POI 5.2.3, which...
JDK 11 jrt-fs.jar is the JAR file for JDK 11 JRT-FS (Java RunTime - File System) defined in the "jdk...
Where Can I see Java Source Code files for Xerces Java 2.11.2? Here are Java Source Code files for X...
What Is jaxb-impl-2.1.12.jar? Java Architecture for XML Binding (JAXB) is a Java API that allows Jav...
JDK 11 java.base.jmod is the JMOD file for JDK 11 Base module. JDK 11 Base module compiled class fil...