Logo
Distributed Genetic Programming Framework
print print

File org.sfc.xml.sax.SAXPropagate.java

Here you can find all the information about the file org.sfc.xml.sax.SAXPropagate.java. You may explore it here or download it onto your local disk.
/*
 * Copyright (c) 2005 Thomas Weise
 * 
 * E-Mail           : tweise@gmx.de
 * Creation Date    : 2005-08-22 17:00:04
 * Original Filename: org.sfc.xml.sax.SAXPropagate.java
 * Version          : 1.0.2
 * Last modification: 2006-03-07
 *                by: Thomas Weise
 * 
 * License          : GNU LESSER GENERAL PUBLIC LICENSE
 *                    Version 2.1, February 1999
 *                    You should have received a copy of this license along
 *                    with this library; if not, write to the Free Software
 *                    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *                    MA 02111-1307, USA or download the license under
 *                    http://www.gnu.org/copyleft/lesser.html.
 *                    
 * Warranty         : This software is provided "as is" without any
 *                    warranty; without even the implied warranty of
 *                    merchantability or fitness for a particular purpose.
 *                    See the Gnu Lesser General Public License for more
 *                    details.
 */

 
package org.sfc.xml.sax;

import org.xml.sax.SAXException;

/**
 * This class allows you to place new xml-dialects on a sax writer.
 *
 * @author Thomas Weise
 */

public class SAXPropagate
  {
/**
 * The underlying sax writer.
 */

  private final SAXWriter m_writer  ;
  
/**
 * <code>true</code> if this sax propagate is the sole owner of the sax
 * writer, meaning that when the propagate starts a document, the sax
 * writer starts a document too (and the same goes for ending a document).
 */

  private final boolean   m_is_owner  ;
  
/**
 * Create a new sax propagate.
 * @param p_dest     Any given source object that can be converted to a
 *                    <code>Writer</code> by the <code>IO</code> class or
 *                    an existing <code>SAXWriter</code>.
 * @param p_is_owner  <code>true</code> if this sax propagate is the sole
 *                    owner of the sax writer, meaning that when the
 *                    propagate starts a document, the sax writer starts a
 *                    document too (and the same goes for ending a
 *                    document).
 * @throws SAXException If something goes wrong.
 */

  protected SAXPropagate  (final Object    p_dest,
                           final boolean   p_is_owner) throws SAXException
    {
    super();
    
    if(p_dest instanceof SAXWriter)
      {
      this.m_writer   = ((SAXWriter)p_dest);
      this.m_is_owner = p_is_owner;
      }
    else
      {
      this.m_writer   = new SAXWriter(p_dest);
      this.m_is_owner = true;
      }
    }
  
/**
 * Returns the underlying sax writer.
 * @return  The underlying sax writer.
 */

  protected final SAXWriter get_writer  ()
    {
    return this.m_writer;
    }

/**
 * @return  <code>true</code> if this sax propagate is the sole owner of
 *          the sax writer, meaning that when the propagate starts a
 *          document, the sax writer starts a document too (and the same
 *          goes for ending a document).
 */

  protected final boolean is_owner  ()
    {
    return this.m_is_owner;
    }
  
/**
 * Start a new xml document.
 * @throws  SAXException  If something goes wrong.
 */

  protected  void  start_document  ()  throws SAXException
    {
    if(this.m_is_owner) this.m_writer.startDocument();
    }
  
/**
 * End an xml document.
 * @throws  SAXException  If something goes wrong.
 */

  protected void  end_document  ()  throws SAXException
    {
    if(this.m_is_owner) this.m_writer.endDocument();
    }
  
/**
 * The simple method to put attributes.
 * @param p_name          The (qualified or unqualified) name of the new
 *                        element.
 * @param p_value         The value of the attribute.
 * @throws  SAXException  If something's gone wrong.
 * @see #attribute(String, String, String)
 */

  public  final void  attribute (final String p_name,
                                 final String p_value)
                                          throws SAXException
    { 
    this.m_writer.attribute(p_name, p_value);
    }
  
/**
 * The simple method to put attributes.
 * @param p_namespace_uri The namespace-uri of the element.
 *                        This might be <code>null</code>.
 * @param p_name          The (qualified or unqualified) name of the new
 *                        element.
 * @param p_value         The value of the attribute.
 * @throws  SAXException  If something's gone wrong.
 * @see #attribute(String, String)
 */

  public  final void  attribute (final String p_namespace_uri,
                                 final String p_name,
                                 final String p_value)
                                          throws SAXException
    {
    this.m_writer.attribute(p_namespace_uri, p_name, p_value);
    }
  
/**
 * The simple method to write a character to an xml-document.
 * @param p_char    The character to be written.
 * @throws SAXException any SAX exception, possibly
 *            wrapping another exception, probably io went wrong.
 */

  public  final void  text  (final char p_char) throws SAXException
    {
    this.m_writer.text(p_char);
    }
  
/**
 * The simple method to write some text to an xml-document.
 * @param p_string  The text to be written.
 * @throws SAXException any SAX exception, possibly
 *            wrapping another exception, probably io went wrong.
 */

  public  final void  text  (final String p_string) throws SAXException
    {
    this.m_writer.text(p_string);
    }
  
/**
 * Writer character data.
 *
 * @param p_ch the characters from the XML document
 * @param p_start the start position in the array
 * @param p_length the number of characters to read from the array
 * @throws org.xml.sax.SAXException any SAX exception, possibly
 *            wrapping another exception
 * @see org.xml.sax.Locator
 * @see #text(String)
 */

  public final  void text       (final  char  p_ch[],
                                 final  int   p_start,
                                 final  int   p_length) throws SAXException
    {
    this.m_writer.characters(p_ch, p_start, p_length);
    }
  
/**
 * The more convenient method to end an element.
 * @throws  SAXException  If something went wrong.
 */

  public  final void  end_element ()  throws SAXException
    {
    this.m_writer.end_element();
    }
  
/**
 * The simple method to start a new element.
 * @param p_namespace_uri The namespace-uri of the element.
 *                        This might be <code>null</code>.
 * @param p_name          The (qualified or unqualified) name of the new
 *                        element.
 * @throws  SAXException  If something's gone wrong.
 * @see #start_element(String)
 */

  public  final void  start_element (final String p_namespace_uri,
                               final String p_name)
                                          throws SAXException
    {
    this.m_writer.start_element(p_namespace_uri, p_name);
    }
  
/**
 * The simple method to start a new element.
 * @param p_name          The (qualified or unqualified) name of the new
 *                        element.
 * @throws  SAXException  If something's gone wrong.
 * @see #start_element(String, String)
 */

  public  final void  start_element (final String p_name)
                                          throws SAXException
    {
    this.m_writer.start_element(p_name);
    }
  
/**
 * Writer an XML comment anywhere in the document.
 *
 * @param p_ch An array holding the characters in the comment.
 * @param p_start The starting position in the array.
 * @param p_length The number of characters to use from the array.
 * @exception SAXException The application may raise an exception.
 */

  public final  void comment (final  char   p_ch[],
                              final  int    p_start,
                              final  int    p_length) throws SAXException
    {
    this.m_writer.comment(p_ch, p_start, p_length);
    }
  
/**
 * Write the start of DTD declarations, if any.
 *
 * @param p_name The document type name.
 * @param p_public_id The declared public identifier for the
 *        external DTD subset, or null if none was declared.
 * @param p_system_id The declared system identifier for the
 *        external DTD subset, or null if none was declared.
 *        (Note that this is not resolved against the document
 *        base URI.)
 * @exception SAXException The application may raise an
 *            exception.
 * @see #end_dtd
 */

  protected final  void start_dtd (String    p_name,
                                  String    p_public_id,
                                  String    p_system_id) 
        throws SAXException
    {
    this.m_writer.startDTD(p_name, p_public_id, p_system_id);
    }


/**
 * Write the end of DTD declarations.
 *
 * @exception SAXException The application may raise an exception.
 * @see #start_dtd
 */

  protected final  void end_dtd () throws SAXException
    {
    this.m_writer.endDTD();
    }
  }

File Information:

file name:SAXPropagate.java
package:org.sfc.xml.sax
qualified name:org.sfc.xml.sax.SAXPropagate.java
file type:Java Source File
download location:download http://dgpf.sourceforge.net/source/org/sfc/xml/sax/SAXPropagate.java
size:9.065 KB (9283 B)
uploaded: 2018-01-07 12:03:36 GMT+0000
last update: 2006-03-07 04:20:28 GMT+0000
last access: 2018-04-26 13:40:18 GMT+0000

statistics online since 2006-01-02.   RSS Feed
Contact us by sending an email to tweise@gmx.de to receive further information, to report errors, or to join our project.
All content on this site (http://dgpf.sourceforge.net/) is LGPL-licensed.
http://dgpf.sourceforge.net/scripts/source/source.php last modified at 2018-01-07 12:03:34 GMT+0000 served at 2018-04-26 13:40:18 GMT+0000.
Valid CSS Valid XHTML 1.1
Valid RSS SourceForge.net Logo