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 }