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 javax.xml.stream.util.XMLEventAllocator;
023
024 public abstract class XMLInputFactory {
025 public static final java.lang.String ALLOCATOR = "javax.xml.stream.allocator";
026 public static final java.lang.String IS_COALESCING = "javax.xml.stream.isCoalescing";
027 public static final java.lang.String IS_NAMESPACE_AWARE = "javax.xml.stream.isNamespaceAware";
028 public static final java.lang.String IS_REPLACING_ENTITY_REFERENCES = "javax.xml.stream.isReplacingEntityReferences";
029 public static final java.lang.String IS_SUPPORTING_EXTERNAL_ENTITIES = "javax.xml.stream.isSupportingExternalEntities";
030 public static final java.lang.String IS_VALIDATING = "javax.xml.stream.isValidating";
031 public static final java.lang.String REPORTER = "javax.xml.stream.reporter";
032 public static final java.lang.String RESOLVER = "javax.xml.stream.resolver";
033 public static final java.lang.String SUPPORT_DTD = "javax.xml.stream.supportDTD";
034
035 protected XMLInputFactory() {
036 }
037
038 public static XMLInputFactory newInstance()
039 throws FactoryConfigurationError {
040 // We'll assume the XMLInputFactory from the RI as a backup.
041 return (XMLInputFactory)FactoryLocator.locate("javax.xml.stream.XMLInputFactory", "com.ctc.wstx.stax.WstxInputFactory");
042 }
043
044 public static XMLInputFactory newFactory()
045 throws FactoryConfigurationError {
046 // We'll assume the XMLInputFactory from the RI as a backup.
047 return (XMLInputFactory)FactoryLocator.locate("javax.xml.stream.XMLInputFactory", "com.ctc.wstx.stax.WstxInputFactory");
048 }
049
050
051 /**
052 * Create a new XMLInputFactory
053 *
054 * @deprecated to maintain API consistency. All newInstance methods are
055 * replaced with corresponding newFactory methods. The replacement
056 * newFactory(String factoryId, ClassLoader classLoader)
057 * method defines no changes in behavior from this method.
058 */
059 public static XMLInputFactory newInstance(java.lang.String factoryId,
060 java.lang.ClassLoader classLoader) throws FactoryConfigurationError {
061 // We'll assume the XMLInputFactory from the RI as a backup.
062 return (XMLInputFactory)FactoryLocator.locate(factoryId, "com.ctc.wstx.stax.WstxInputFactory", classLoader);
063 }
064
065
066 public static XMLInputFactory newFactory(java.lang.String factoryId,
067 java.lang.ClassLoader classLoader) throws FactoryConfigurationError {
068 // We'll assume the XMLInputFactory from the RI as a backup.
069 return (XMLInputFactory)FactoryLocator.locate(factoryId, "com.ctc.wstx.stax.WstxInputFactory", classLoader);
070 }
071
072 public abstract XMLStreamReader createXMLStreamReader(java.io.Reader reader)
073 throws XMLStreamException;
074
075 public abstract XMLStreamReader createXMLStreamReader(
076 javax.xml.transform.Source source) throws XMLStreamException;
077
078 public abstract XMLStreamReader createXMLStreamReader(
079 java.io.InputStream stream) throws XMLStreamException;
080
081 public abstract XMLStreamReader createXMLStreamReader(
082 java.io.InputStream stream, java.lang.String encoding)
083 throws XMLStreamException;
084
085 public abstract XMLStreamReader createXMLStreamReader(
086 java.lang.String systemId, java.io.InputStream stream)
087 throws XMLStreamException;
088
089 public abstract XMLStreamReader createXMLStreamReader(
090 java.lang.String systemId, java.io.Reader reader)
091 throws XMLStreamException;
092
093 public abstract XMLEventReader createXMLEventReader(java.io.Reader reader)
094 throws XMLStreamException;
095
096 public abstract XMLEventReader createXMLEventReader(
097 java.lang.String systemId, java.io.Reader reader)
098 throws XMLStreamException;
099
100 public abstract XMLEventReader createXMLEventReader(XMLStreamReader reader)
101 throws XMLStreamException;
102
103 public abstract XMLEventReader createXMLEventReader(
104 javax.xml.transform.Source source) throws XMLStreamException;
105
106 public abstract XMLEventReader createXMLEventReader(
107 java.io.InputStream stream) throws XMLStreamException;
108
109 public abstract XMLEventReader createXMLEventReader(
110 java.io.InputStream stream, java.lang.String encoding)
111 throws XMLStreamException;
112
113 public abstract XMLEventReader createXMLEventReader(
114 java.lang.String systemId, java.io.InputStream stream)
115 throws XMLStreamException;
116
117 public abstract XMLStreamReader createFilteredReader(
118 XMLStreamReader reader, StreamFilter filter)
119 throws XMLStreamException;
120
121 public abstract XMLEventReader createFilteredReader(XMLEventReader reader,
122 EventFilter filter) throws XMLStreamException;
123
124 public abstract XMLResolver getXMLResolver();
125
126 public abstract void setXMLResolver(XMLResolver resolver);
127
128 public abstract XMLReporter getXMLReporter();
129
130 public abstract void setXMLReporter(XMLReporter reporter);
131
132 public abstract void setProperty(java.lang.String name,
133 java.lang.Object value) throws java.lang.IllegalArgumentException;
134
135 public abstract java.lang.Object getProperty(java.lang.String name)
136 throws java.lang.IllegalArgumentException;
137
138 public abstract boolean isPropertySupported(java.lang.String name);
139
140 public abstract void setEventAllocator(XMLEventAllocator allocator);
141
142 public abstract XMLEventAllocator getEventAllocator();
143 }