⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xml.java

📁 Java写的ERP系统
💻 JAVA
字号:
/*
 * Copyright (c) 1999 The Java Apache Project.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * 3. All advertising materials mentioning features or use of this
 *    software must display the following acknowledgment:
 *    "This product includes software developed by the Java Apache 
 *    Project. <http://java.apache.org/>"
 *
 * 4. The names "Java Apache Element Construction Set", "Java Apache ECS" and 
 *    "Java Apache Project" must not be used to endorse or promote products 
 *    derived from this software without prior written permission.
 *
 * 5. Products derived from this software may not be called 
 *    "Java Apache Element Construction Set" nor "Java Apache ECS" appear 
 *    in their names without prior written permission of the 
 *    Java Apache Project.
 *
 * 6. Redistributions of any form whatsoever must retain the following
 *    acknowledgment:
 *    "This product includes software developed by the Java Apache 
 *    Project. <http://java.apache.org/>"
 *    
 * THIS SOFTWARE IS PROVIDED BY THE JAVA APACHE PROJECT "AS IS" AND ANY
 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE JAVA APACHE PROJECT OR
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 * OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of the Java Apache Project. For more information
 * on the Java Apache Project please see <http://java.apache.org/>.
 *
 */
package org.apache.ecs.xml;

import org.apache.ecs.*;

/**
    This class creates a generic &lt;&gt; tag.

    @version $Id: XML.java,v 1.2 2001/11/06 03:43:34 jjanke Exp $
    @author <a href="mailto:snagy@servletapi.com">Stephan Nagy</a>
    @author <a href="mailto:jon@clearink.com">Jon S. Stevens</a>
*/
public class XML extends MultiPartElement implements Printable
{

    /**
        Default constructor use set* Methods. With this name.
        @param element_type The name of this element.
    */
    public XML(String element_type)
    {
        setElementType(element_type);
    }

    /**
        Construct a new XML element with this name, <br>and specify if it needs
        the element tag closed.
        @param element_type The name of this element.
        @param close    Should it have a closing tag
    */
    public XML(String element_type,boolean close)
    {
        setElementType(element_type);
        setNeedClosingTag(close);
    }

    /**
        Construct a new XML element with this name, and specify a filter for it.
        @param element_type The name of this element.
        @param filter    a new Filter for this element override the default.
    */
    public XML(String element_type,Filter filter)
    {
        setElementType(element_type);
        setFilter(filter);
    }
    
    /**
        Construct a new XML element with this name, and specify a filter for it.
        @param element_type The name of this element.
        @param close    Should it have a closing tag
        @param filter   Should this element be filtered?
    */
    public XML(String element_type,boolean close,boolean filter)
    {
        setElementType(element_type);
        setNeedClosingTag(close);
        setFilterState(filter);
    }

    /**
        Construct a new XML element with this name, and specify a filter for it.
        @param element_type The name of this element.
        @param close    Should it have a closing tag
        @param filter    a new Filter for this element override the default.
    */
    public XML(String element_type,boolean close,Filter filter)
    {
        setElementType(element_type);
        setNeedClosingTag(close);
        setFilter(filter);
    }

    /**
        Add a new attribute to this XML tag.
        @param attribute the attribute name
        @param attribute_value the value of the attribute set this to<BR>
        <code>"ECS_NO_ATTRIBUTE_VALUE"</code> if this attribute <BR>
        doesn't take a value.
    */
    public XML addXMLAttribute(String attribute, String attribute_value)
    {
        addAttribute(attribute,attribute_value);
        return(this);
    }

    /**
        Add an element to the valuie of &lt;&gt;VALUE&lt;/&gt;
        @param element the value of &lt;&gt;VALUE&lt;/&gt;
    */
    public XML addElement(String element)
    {
        addElementToRegistry(element);
        return(this);
    }

    /**
        Adds an Element to the element.
        @param  hashcode name of element for hash table
        @param  element Adds an Element to the element.
     */
    public XML addElement(String hashcode,Element element)
    {
        addElementToRegistry(hashcode,element);
        return(this);
    }

    /**
        Adds an Element to the element.
        @param  hashcode name of element for hash table
        @param  element Adds an Element to the element.
     */
    public XML addElement(String hashcode,String element)
    {
        addElementToRegistry(hashcode,element);
        return(this);
    }

    /**
        Add an element to the valuie of &lt;&gt;VALUE&lt;/&gt;
        @param element the value of &lt;&gt;VALUE&lt;/&gt;
    */
    public XML addElement(Element element)
    {
        addElementToRegistry(element);
        return(this);
    }
    /**
        Removes an Element from the element.
        @param hashcode the name of the element to be removed.
    */
    public XML removeElement(String hashcode)
    {
        removeElementFromRegistry(hashcode);
        return(this);
    }

    public boolean getNeedLineBreak() {
        boolean linebreak = true;

        java.util.Enumeration enum = elements();

        // if this tag has one child, and it's a String, then don't
        // do any linebreaks to preserve whitespace

        while (enum.hasMoreElements()) {
            Object obj = enum.nextElement();
            if (obj instanceof StringElement) {
                 linebreak = false;
                 break;
            }

        }

        return linebreak;
    }

    public boolean getBeginEndModifierDefined() {
        boolean answer = false;

        if (! this.getNeedClosingTag())
            answer = true;

        return answer;
    }

    public char getBeginEndModifier() {
        return '/';
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -