001: /*
002: * Copyright (c) 1998-2008 Caucho Technology -- all rights reserved
003: *
004: * This file is part of Resin(R) Open Source
005: *
006: * Each copy or derived work must preserve the copyright notice and this
007: * notice unmodified.
008: *
009: * Resin Open Source is free software; you can redistribute it and/or modify
010: * it under the terms of the GNU General Public License as published by
011: * the Free Software Foundation; either version 2 of the License, or
012: * (at your option) any later version.
013: *
014: * Resin Open Source is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
017: * of NON-INFRINGEMENT. See the GNU General Public License for more
018: * details.
019: *
020: * You should have received a copy of the GNU General Public License
021: * along with Resin Open Source; if not, write to the
022: *
023: * Free Software Foundation, Inc.
024: * 59 Temple Place, Suite 330
025: * Boston, MA 02111-1307 USA
026: *
027: * @author Scott Ferguson
028: */
029:
030: package javax.xml.stream;
031:
032: import javax.xml.stream.util.XMLEventAllocator;
033: import javax.xml.transform.Source;
034: import java.io.InputStream;
035: import java.io.Reader;
036:
037: public abstract class XMLInputFactory {
038:
039: public static final String ALLOCATOR = "javax.xml.stream.allocator";
040:
041: public static final String IS_COALESCING = "javax.xml.stream.isCoalescing";
042:
043: public static final String IS_NAMESPACE_AWARE = "javax.xml.stream.isNamespaceAware";
044:
045: public static final String IS_REPLACING_ENTITY_REFERENCES = "javax.xml.stream.isReplacingEntityReferences";
046:
047: public static final String IS_SUPPORTING_EXTERNAL_ENTITIES = "javax.xml.stream.isSupportingExternalEntities";
048:
049: public static final String IS_VALIDATING = "javax.xml.stream.isValidating";
050:
051: public static final String REPORTER = "javax.xml.stream.reporter";
052:
053: public static final String RESOLVER = "javax.xml.stream.resolver";
054:
055: public static final String SUPPORT_DTD = "javax.xml.stream.supportDTD";
056:
057: protected XMLInputFactory() {
058: }
059:
060: public abstract XMLEventReader createFilteredReader(
061: XMLEventReader reader, EventFilter filter)
062: throws XMLStreamException;
063:
064: public abstract XMLStreamReader createFilteredReader(
065: XMLStreamReader reader, StreamFilter filter)
066: throws XMLStreamException;
067:
068: public abstract XMLEventReader createXMLEventReader(
069: InputStream stream) throws XMLStreamException;
070:
071: public abstract XMLEventReader createXMLEventReader(
072: InputStream stream, String encoding)
073: throws XMLStreamException;
074:
075: public abstract XMLEventReader createXMLEventReader(Reader reader)
076: throws XMLStreamException;
077:
078: public abstract XMLEventReader createXMLEventReader(Source source)
079: throws XMLStreamException;
080:
081: public abstract XMLEventReader createXMLEventReader(
082: String systemId, InputStream stream)
083: throws XMLStreamException;
084:
085: public abstract XMLEventReader createXMLEventReader(
086: String systemId, Reader reader) throws XMLStreamException;
087:
088: public abstract XMLEventReader createXMLEventReader(
089: XMLStreamReader reader) throws XMLStreamException;
090:
091: public abstract XMLStreamReader createXMLStreamReader(
092: InputStream stream) throws XMLStreamException;
093:
094: public abstract XMLStreamReader createXMLStreamReader(
095: InputStream stream, String encoding)
096: throws XMLStreamException;
097:
098: public abstract XMLStreamReader createXMLStreamReader(Reader reader)
099: throws XMLStreamException;
100:
101: public abstract XMLStreamReader createXMLStreamReader(Source source)
102: throws XMLStreamException;
103:
104: public abstract XMLStreamReader createXMLStreamReader(
105: String systemId, InputStream stream)
106: throws XMLStreamException;
107:
108: public abstract XMLStreamReader createXMLStreamReader(
109: String systemId, Reader reader) throws XMLStreamException;
110:
111: public abstract XMLEventAllocator getEventAllocator();
112:
113: public abstract Object getProperty(String name)
114: throws IllegalArgumentException;
115:
116: public abstract XMLReporter getXMLReporter();
117:
118: public abstract XMLResolver getXMLResolver();
119:
120: public abstract boolean isPropertySupported(String name);
121:
122: public static XMLInputFactory newInstance()
123: throws FactoryConfigurationError {
124: XMLInputFactory ret = newInstance(
125: "javax.xml.stream.XMLInputFactory", Thread
126: .currentThread().getContextClassLoader());
127:
128: if (ret != null)
129: return ret;
130:
131: throw new FactoryConfigurationError("No factory defined");
132: }
133:
134: public static XMLInputFactory newInstance(String factoryId,
135: ClassLoader classLoader) throws FactoryConfigurationError {
136: return (XMLInputFactory) FactoryLoader.getFactoryLoader(
137: factoryId).newInstance(classLoader);
138: }
139:
140: public abstract void setEventAllocator(XMLEventAllocator allocator);
141:
142: public abstract void setProperty(String name, Object value)
143: throws IllegalArgumentException;
144:
145: public abstract void setXMLReporter(XMLReporter reporter);
146:
147: public abstract void setXMLResolver(XMLResolver resolver);
148:
149: }
|