| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| /* |
| * $Id$ |
| */ |
| package org.apache.xalan.serialize; |
| |
| import java.io.IOException; |
| import java.io.OutputStream; |
| import java.io.Writer; |
| import java.util.Properties; |
| |
| import org.w3c.dom.Node; |
| import org.xml.sax.ContentHandler; |
| |
| /** |
| * Factory for creating serializers. |
| * @deprecated The new class to use is |
| * org.apache.xml.serializer.SerializerFactory |
| */ |
| public abstract class SerializerFactory |
| { |
| |
| private SerializerFactory() |
| { |
| } |
| /** |
| * Returns a serializer for the specified output method. Returns |
| * null if no implementation exists that supports the specified |
| * output method. For a list of the default output methods see |
| * {@link org.apache.xml.serializer.Method}. |
| * |
| * @param format The output format |
| * @return A suitable serializer, or null |
| * @throws IllegalArgumentException (apparently -sc) if method is |
| * null or an appropriate serializer can't be found |
| * @throws WrappedRuntimeException (apparently -sc) if an |
| * exception is thrown while trying to find serializer |
| * @deprecated Use org.apache.xml.serializer.SerializerFactory |
| */ |
| public static Serializer getSerializer(Properties format) |
| { |
| org.apache.xml.serializer.Serializer ser; |
| ser = org.apache.xml.serializer.SerializerFactory.getSerializer(format); |
| SerializerFactory.SerializerWrapper si = new SerializerWrapper(ser); |
| return si; |
| |
| } |
| |
| /** |
| * This class just exists to wrap a new Serializer in the new package by |
| * an old one. |
| * @deprecated |
| */ |
| |
| private static class SerializerWrapper implements Serializer |
| { |
| private final org.apache.xml.serializer.Serializer m_serializer; |
| private DOMSerializer m_old_DOMSerializer; |
| |
| SerializerWrapper(org.apache.xml.serializer.Serializer ser) |
| { |
| m_serializer = ser; |
| |
| } |
| |
| public void setOutputStream(OutputStream output) |
| { |
| m_serializer.setOutputStream(output); |
| } |
| |
| public OutputStream getOutputStream() |
| { |
| return m_serializer.getOutputStream(); |
| } |
| |
| public void setWriter(Writer writer) |
| { |
| m_serializer.setWriter(writer); |
| } |
| |
| public Writer getWriter() |
| { |
| return m_serializer.getWriter(); |
| } |
| |
| public void setOutputFormat(Properties format) |
| { |
| m_serializer.setOutputFormat(format); |
| } |
| |
| public Properties getOutputFormat() |
| { |
| return m_serializer.getOutputFormat(); |
| } |
| |
| public ContentHandler asContentHandler() throws IOException |
| { |
| return m_serializer.asContentHandler(); |
| } |
| |
| /** |
| * @return an old style DOMSerializer that wraps a new one. |
| * @see org.apache.xalan.serialize.Serializer#asDOMSerializer() |
| */ |
| public DOMSerializer asDOMSerializer() throws IOException |
| { |
| if (m_old_DOMSerializer == null) |
| { |
| m_old_DOMSerializer = |
| new DOMSerializerWrapper(m_serializer.asDOMSerializer()); |
| } |
| return m_old_DOMSerializer; |
| } |
| /** |
| * @see org.apache.xalan.serialize.Serializer#reset() |
| */ |
| public boolean reset() |
| { |
| return m_serializer.reset(); |
| } |
| |
| } |
| |
| /** |
| * This class just wraps a new DOMSerializer with an old style one for |
| * migration purposes. |
| * |
| */ |
| private static class DOMSerializerWrapper implements DOMSerializer |
| { |
| private final org.apache.xml.serializer.DOMSerializer m_dom; |
| DOMSerializerWrapper(org.apache.xml.serializer.DOMSerializer domser) |
| { |
| m_dom = domser; |
| } |
| |
| public void serialize(Node node) throws IOException |
| { |
| m_dom.serialize(node); |
| } |
| } |
| |
| } |