/*
 * reserved comment block
 * DO NOT REMOVE OR ALTER!
 */
/*
 * 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.
 */

package com.sun.org.apache.xml.internal.serializer.dom3;

import java.io.IOException;

import com.sun.org.apache.xml.internal.serializer.DOM3Serializer;
import com.sun.org.apache.xml.internal.serializer.SerializationHandler;
import com.sun.org.apache.xml.internal.serializer.utils.WrappedRuntimeException;
import org.w3c.dom.DOMErrorHandler;
import org.w3c.dom.Node;
import org.w3c.dom.ls.LSSerializerFilter;

This class implements the DOM3Serializer interface.
@xsl.usageinternal
/** * This class implements the DOM3Serializer interface. * * @xsl.usage internal */
public final class DOM3SerializerImpl implements DOM3Serializer {
Private class members
/** * Private class members */
// The DOMErrorHandler private DOMErrorHandler fErrorHandler; // A LSSerializerFilter private LSSerializerFilter fSerializerFilter; // The end-of-line character sequence private String fNewLine; // A SerializationHandler ex. an instance of ToXMLStream private SerializationHandler fSerializationHandler;
Constructor
Params:
  • handler – An instance of the SerializationHandler interface.
/** * Constructor * * @param handler An instance of the SerializationHandler interface. */
public DOM3SerializerImpl(SerializationHandler handler) { fSerializationHandler = handler; } // Public memebers
Returns a DOMErrorHandler set on the DOM Level 3 Serializer. This interface is a public API.
Returns:A Level 3 DOMErrorHandler
/** * Returns a DOMErrorHandler set on the DOM Level 3 Serializer. * * This interface is a public API. * * @return A Level 3 DOMErrorHandler */
public DOMErrorHandler getErrorHandler() { return fErrorHandler; }
Returns a LSSerializerFilter set on the DOM Level 3 Serializer to filter nodes during serialization. This interface is a public API.
Returns:The Level 3 LSSerializerFilter
/** * Returns a LSSerializerFilter set on the DOM Level 3 Serializer to filter nodes * during serialization. * * This interface is a public API. * * @return The Level 3 LSSerializerFilter */
public LSSerializerFilter getNodeFilter() { return fSerializerFilter; }
Serializes the Level 3 DOM node by creating an instance of DOM3TreeWalker which traverses the DOM tree and invokes handler events to serialize the DOM NOde. Throws an exception only if an I/O exception occured while serializing. This interface is a public API.
Params:
  • node – the Level 3 DOM node to serialize
Throws:
  • IOException – if an I/O exception occured while serializing
/** * Serializes the Level 3 DOM node by creating an instance of DOM3TreeWalker * which traverses the DOM tree and invokes handler events to serialize * the DOM NOde. Throws an exception only if an I/O exception occured * while serializing. * This interface is a public API. * * @param node the Level 3 DOM node to serialize * @throws IOException if an I/O exception occured while serializing */
public void serializeDOM3(Node node) throws IOException { try { DOM3TreeWalker walker = new DOM3TreeWalker(fSerializationHandler, fErrorHandler, fSerializerFilter, fNewLine); walker.traverse(node); } catch (org.xml.sax.SAXException se) { throw new WrappedRuntimeException(se); } }
Sets a DOMErrorHandler on the DOM Level 3 Serializer. This interface is a public API.
Params:
  • handler – the Level 3 DOMErrorHandler
/** * Sets a DOMErrorHandler on the DOM Level 3 Serializer. * * This interface is a public API. * * @param handler the Level 3 DOMErrorHandler */
public void setErrorHandler(DOMErrorHandler handler) { fErrorHandler = handler; }
Sets a LSSerializerFilter on the DOM Level 3 Serializer to filter nodes during serialization. This interface is a public API.
Params:
  • filter – the Level 3 LSSerializerFilter
/** * Sets a LSSerializerFilter on the DOM Level 3 Serializer to filter nodes * during serialization. * * This interface is a public API. * * @param filter the Level 3 LSSerializerFilter */
public void setNodeFilter(LSSerializerFilter filter) { fSerializerFilter = filter; }
Sets a SerializationHandler on the DOM Serializer. This interface is a public API.
Params:
  • handler – An instance of SerializationHandler
/** * Sets a SerializationHandler on the DOM Serializer. * * This interface is a public API. * * @param handler An instance of SerializationHandler */
public void setSerializationHandler(SerializationHandler handler) { fSerializationHandler = handler; }
Sets the new line character to be used during serialization
Params:
  • newLine – a String that is the end-of-line character sequence to be used in serialization.
/** * Sets the new line character to be used during serialization * @param newLine a String that is the end-of-line character sequence to be * used in serialization. */
public void setNewLine(String newLine) { fNewLine = newLine; } }