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 public abstract class XMLOutputFactory { 023 public static final String IS_REPAIRING_NAMESPACES = "javax.xml.stream.isRepairingNamespaces"; 024 025 protected XMLOutputFactory() { } 026 027 public static XMLOutputFactory newInstance() throws FactoryConfigurationError { 028 return (XMLOutputFactory) FactoryLocator.locate("javax.xml.stream.XMLOutputFactory", "com.ctc.wstx.stax.WstxOutputFactory"); 029 } 030 031 /** 032 * Create a new XMLOutputFactory 033 * 034 * @deprecated This method has been deprecated because 035 * it returns an instance of XMLInputFactory, which is of the 036 * wrong class. Use the new method 037 * newFactory(java.lang.String factoryId,java.lang.ClassLoader classLoader) 038 * instead. 039 */ 040 public static XMLInputFactory newInstance(String factoryId, 041 java.lang.ClassLoader classLoader) throws FactoryConfigurationError { 042 return (XMLInputFactory) FactoryLocator.locate(factoryId, "com.ctc.wstx.stax.WstxOutputFactory", classLoader); 043 044 } 045 046 047 /** 048 * Create a new XMLOutputFactory 049 * 050 * This is the replacement for the deprecated newInstance() method 051 */ 052 public static XMLOutputFactory newFactory() throws FactoryConfigurationError { 053 return (XMLOutputFactory) FactoryLocator.locate("javax.xml.stream.XMLOutputFactory", "com.ctc.wstx.stax.WstxOutputFactory"); 054 } 055 056 /** 057 * Create a new XMLOutputFactory 058 * 059 * This is the replacement for the deprecated newInstance() method 060 */ 061 public static XMLOutputFactory newFactory(String factoryId, ClassLoader classLoader) 062 throws FactoryConfigurationError { 063 // essentially the same thing as deprecated newInstance(), but the correct return type. 064 return (XMLOutputFactory) FactoryLocator.locate(factoryId, "com.ctc.wstx.stax.WstxOutputFactory", classLoader); 065 } 066 067 public abstract XMLStreamWriter createXMLStreamWriter(java.io.Writer stream) 068 throws XMLStreamException; 069 070 public abstract XMLStreamWriter createXMLStreamWriter( 071 java.io.OutputStream stream) throws XMLStreamException; 072 073 public abstract XMLStreamWriter createXMLStreamWriter( 074 java.io.OutputStream stream, String encoding) 075 throws XMLStreamException; 076 077 public abstract XMLStreamWriter createXMLStreamWriter( 078 javax.xml.transform.Result result) throws XMLStreamException; 079 080 public abstract XMLEventWriter createXMLEventWriter( 081 javax.xml.transform.Result result) throws XMLStreamException; 082 083 public abstract XMLEventWriter createXMLEventWriter( 084 java.io.OutputStream stream) throws XMLStreamException; 085 086 public abstract XMLEventWriter createXMLEventWriter( 087 java.io.OutputStream stream, String encoding) 088 throws XMLStreamException; 089 090 public abstract XMLEventWriter createXMLEventWriter(java.io.Writer stream) 091 throws XMLStreamException; 092 093 public abstract void setProperty(String name, Object value) 094 throws IllegalArgumentException; 095 096 public abstract Object getProperty(String name) 097 throws IllegalArgumentException; 098 099 public abstract boolean isPropertySupported(String name); 100 }