Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
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 (322)
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/evt/BaseStartElement.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.evt;
import java.io.IOException;
import java.io.Writer;
import java.util.Iterator;
import javax.xml.namespace.NamespaceContext;
import javax.xml.namespace.QName;
import javax.xml.stream.*;
import javax.xml.stream.events.Attribute;
import javax.xml.stream.events.Namespace;
import javax.xml.stream.events.StartElement;
import org.codehaus.stax2.XMLStreamWriter2;
import org.codehaus.stax2.ri.evt.BaseEventImpl;
import com.ctc.wstx.exc.WstxIOException;
import com.ctc.wstx.util.BaseNsContext;
import com.ctc.wstx.util.DataUtil;
/**
* Shared base class of {@link StartElement} implementations Wstx uses.
*/
abstract class BaseStartElement
extends BaseEventImpl
implements StartElement
{
protected final QName mName;
protected final BaseNsContext mNsCtxt;
/*
/////////////////////////////////////////////
// Life cycle
/////////////////////////////////////////////
*/
protected BaseStartElement(Location loc, QName name, BaseNsContext nsCtxt)
{
super(loc);
mName = name;
mNsCtxt = nsCtxt;
}
/*
/////////////////////////////////////////////
// StartElement API
/////////////////////////////////////////////
*/
@Override
public abstract Attribute getAttributeByName(QName name);
@Override
public abstract Iterator<Attribute> getAttributes();
@Override
public final QName getName() {
return mName;
}
@Override
public Iterator<Namespace> getNamespaces()
{
if (mNsCtxt == null) {
return DataUtil.emptyIterator();
}
/* !!! 28-Sep-2004: Should refactor, since now it's up to ns context
* to construct namespace events... which adds unnecessary
* up-dependency from stream level to event objects.
*/
return mNsCtxt.getNamespaces();
}
@Override
public NamespaceContext getNamespaceContext() {
return mNsCtxt;
}
@Override
public String getNamespaceURI(String prefix) {
return (mNsCtxt == null) ? null : mNsCtxt.getNamespaceURI(prefix);
}
/*
/////////////////////////////////////////////////////
// Implementation of abstract base methods, overrides
/////////////////////////////////////////////////////
*/
@Override
public StartElement asStartElement() { // overriden to save a cast
return this;
}
@Override
public int getEventType() {
return START_ELEMENT;
}
@Override
public boolean isStartElement() {
return true;
}
@Override
public void writeAsEncodedUnicode(Writer w)
throws XMLStreamException
{
try {
w.write('<');
String prefix = mName.getPrefix();
if (prefix != null && prefix.length() > 0) {
w.write(prefix);
w.write(':');
}
w.write(mName.getLocalPart());
// Base class can output namespaces and attributes:
outputNsAndAttr(w);
w.write('>');
} catch (IOException ie) {
throw new WstxIOException(ie);
}
}
@Override
public void writeUsing(XMLStreamWriter2 w) throws XMLStreamException
{
QName n = mName;
w.writeStartElement(n.getPrefix(), n.getLocalPart(),
n.getNamespaceURI());
outputNsAndAttr(w);
}
protected abstract void outputNsAndAttr(Writer w) throws IOException;
protected abstract void outputNsAndAttr(XMLStreamWriter w) throws XMLStreamException;
/*
///////////////////////////////////////////
// Standard method implementation
//
// note: copied from Stax2 RI's StartElementEventImpl
///////////////////////////////////////////
*/
@Override
public boolean equals(Object o)
{
if (o == this) return true;
if (o == null) return false;
if (!(o instanceof StartElement)) return false;
StartElement other = (StartElement) o;
// First things first: names must match
if (mName.equals(other.getName())) {
/* Rest is much trickier. I guess the easiest way is to
* just blindly iterate through ns decls and attributes.
* The main issue is whether ordering should matter; it will,
* if just iterating. Would need to sort to get canonical
* comparison.
*/
if (iteratedEquals(getNamespaces(), other.getNamespaces())) {
return iteratedEquals(getAttributes(), other.getAttributes());
}
}
return false;
}
@Override
public int hashCode()
{
int hash = mName.hashCode();
hash = addHash(getNamespaces(), hash);
hash = addHash(getAttributes(), hash);
return hash;
}
}
⏎ com/ctc/wstx/evt/BaseStartElement.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, ≈45🔥, 0💬
Popular Posts:
Apache Commons Codec library provides implementations of common encoders and decoders such as Base64...
JDK 17 java.base.jmod is the JMOD file for JDK 17 Base module. JDK 17 Base module compiled class fil...
The JMX technology provides the tools for building distributed, Web-based, modular and dynamic solut...
Apache BCEL Source Code Files are inside the Apache BCEL source package file like bcel-6.6.1-src.zip...
JDK 11 jdk.aot.jmod is the JMOD file for JDK 11 Ahead-of-Time (AOT) Compiler module. JDK 11 AOT Comp...