001 /*
002 **
003 ** Licensed to the Apache Software Foundation (ASF) under one
004 ** or more contributor license agreements. See the NOTICE file
005 ** distributed with this work for additional information
006 ** regarding copyright ownership. The ASF licenses this file
007 ** to you under the Apache License, Version 2.0 (the
008 ** "License"); you may not use this file except in compliance
009 ** with the License. You may obtain a copy of the License at
010 **
011 ** http://www.apache.org/licenses/LICENSE-2.0
012 **
013 ** Unless required by applicable law or agreed to in writing,
014 ** software distributed under the License is distributed on an
015 ** "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
016 ** KIND, either express or implied. See the License for the
017 ** specific language governing permissions and limitations
018 ** under the License.
019 */
020 package javax.xml.stream;
021
022 import java.util.Iterator;
023
024 import javax.xml.namespace.NamespaceContext;
025 import javax.xml.stream.events.ProcessingInstruction;
026 import javax.xml.namespace.QName;
027 import javax.xml.stream.events.Characters;
028 import javax.xml.stream.events.Comment;
029 import javax.xml.stream.events.DTD;
030 import javax.xml.stream.events.EndElement;
031 import javax.xml.stream.events.EntityDeclaration;
032 import javax.xml.stream.events.Namespace;
033 import javax.xml.stream.events.Attribute;
034 import javax.xml.stream.events.EndDocument;
035 import javax.xml.stream.events.EntityReference;
036 import javax.xml.stream.events.StartDocument;
037 import javax.xml.stream.events.StartElement;
038
039 public abstract class XMLEventFactory {
040
041 protected XMLEventFactory() {
042 }
043
044 public static XMLEventFactory newInstance() throws FactoryConfigurationError {
045 return (XMLEventFactory)FactoryLocator.locate("javax.xml.stream.XMLEventFactory", "com.ctc.wstx.stax.WstxEventFactory");
046 }
047
048 public static XMLEventFactory newFactory() throws FactoryConfigurationError {
049 return (XMLEventFactory)FactoryLocator.locate("javax.xml.stream.XMLEventFactory", "com.ctc.wstx.stax.WstxEventFactory");
050 }
051
052 /**
053 * Create a new XMLEventFactory
054 *
055 * @deprecated to maintain API consistency. All newInstance methods are
056 * replaced with corresponding newFactory methods. The replacement
057 * newFactory(String factoryId, ClassLoader classLoader)
058 * method defines no changes in behavior from this method.
059 */
060 public static XMLEventFactory newInstance(String factoryId,
061 ClassLoader classLoader) throws FactoryConfigurationError {
062 return (XMLEventFactory)FactoryLocator.locate(factoryId, "com.ctc.wstx.stax.WstxEventFactory", classLoader);
063 }
064
065
066 public static XMLEventFactory newFactory(String factoryId,
067 ClassLoader classLoader) throws FactoryConfigurationError {
068 return (XMLEventFactory)FactoryLocator.locate(factoryId, "com.ctc.wstx.stax.WstxEventFactory", classLoader);
069 }
070
071 public abstract void setLocation(Location location);
072
073 public abstract Attribute createAttribute(QName name, String value);
074
075 public abstract Attribute createAttribute(String localName, String value);
076
077 public abstract Attribute createAttribute(String prefix,
078 String namespaceURI, String localName, String value);
079
080 public abstract Namespace createNamespace(String namespaceUri);
081
082 public abstract Namespace createNamespace(String prefix, String namespaceUri);
083
084 public abstract StartElement createStartElement(QName name,
085 Iterator attributes, Iterator namespaces);
086
087 public abstract StartElement createStartElement(String prefix,
088 String namespaceUri, String localName);
089
090 public abstract StartElement createStartElement(String prefix,
091 String namespaceUri, String localName, Iterator attributes,
092 Iterator namespaces);
093
094 public abstract StartElement createStartElement(String prefix,
095 String namespaceUri, String localName, Iterator attributes,
096 Iterator namespaces, NamespaceContext context);
097
098 public abstract EndElement createEndElement(QName name, Iterator namespaces);
099
100 public abstract EndElement createEndElement(String prefix,
101 String namespaceUri, String localName);
102
103 public abstract EndElement createEndElement(String prefix,
104 String namespaceUri, String localName, Iterator namespaces);
105
106 public abstract Characters createCharacters(String content);
107
108 public abstract Characters createCData(String content);
109
110 public abstract Characters createSpace(String content);
111
112 public abstract Characters createIgnorableSpace(String content);
113
114 public abstract StartDocument createStartDocument();
115
116 public abstract StartDocument createStartDocument(String encoding);
117
118 public abstract StartDocument createStartDocument(String encoding,
119 String version);
120
121 public abstract StartDocument createStartDocument(String encoding,
122 String version, boolean standalone);
123
124 public abstract EndDocument createEndDocument();
125
126 public abstract EntityReference createEntityReference(String name,
127 EntityDeclaration declaration);
128
129 public abstract Comment createComment(String text);
130
131 public abstract ProcessingInstruction createProcessingInstruction(
132 String target, String data);
133
134 public abstract DTD createDTD(String dtd);
135 }