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

📄 xmlelement.java

📁 Java的面向对象数据库系统的源代码
💻 JAVA
字号:
/**
 * org/ozone-db/xml/XMLElement.java
 *
 * The contents of this file are subject to the OpenXML Public
 * License Version 1.0; you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 * http://www.openxml.org/license.html
 *
 * THIS SOFTWARE IS DISTRIBUTED ON AN "AS IS" BASIS WITHOUT WARRANTY
 * OF ANY KIND, EITHER EXPRESSED OR IMPLIED. THE INITIAL DEVELOPER
 * AND ALL CONTRIBUTORS SHALL NOT BE LIABLE FOR ANY DAMAGES AS A
 * RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
 * DERIVATIVES. SEE THE LICENSE FOR THE SPECIFIC LANGUAGE GOVERNING
 * RIGHTS AND LIMITATIONS UNDER THE LICENSE.
 *
 * The Initial Developer of this code under the License is Assaf Arkin.
 * Portions created by Assaf Arkin are Copyright (C) 1998, 1999.
 * All Rights Reserved.
 */

/**
 * Changes for Persistent DOM running with ozone are
 * Copyright 1999 by SMB GmbH. All rights reserved.
 */

package org.ozoneDB.xml;

import org.w3c.dom.*;
import org.ozoneDB.xml.dom.*;


/**
 * Base class for user XML elements. {@link XMLDocument} is designed to create
 * elements of classes derived from {@link XMLElement}. In addition to several
 * API extensions, user XML elements can be used to map XML documents directly
 * into application data structures.
 * <P>
 * {@link XMLElement} extends the DOM {@link Element} with the following methods:
 * <UL>
 * <LI>{@link #setReadOnly} renders an element read-only preventing any changes
 *  to it's attribute or content
 * <LI>{@link #setUserObject} and {@link #getUserObject} may be used to associate
 *  a user object with an element
 * </UL>
 * <P>
 * In order to support user elements, a document class must extend {@link
 * XMLDocument}. It then registers tag name to element class associations using
 * {@link XMLDocument#registerElement}.
 * <P>
 * The user elements will be returns whenever {@link XMLDocument#createElement}
 * is called on the document, or when a document of this type is parsed.
 * <P>
 * A user element derived from {@link XMLElement} must pass the owner document
 * and tag name to its constructor. The class and its constructor must be
 * declared public and the constructor must have the same signature as the
 * {@link XMLElement} constructor. The last three requirements may be relaxed
 * if an external element factory is used.
 *
 *
 * @version $Revision: 1.2 $ $Date: 2003/11/20 23:18:42 $
 * @author <a href="mailto:arkin@trendline.co.il">Assaf Arkin</a>
 * @see org.w3c.dom.Element
 * @see XMLDocument#registerElement
 * @see XMLElementFactory
 * @deprecated Alternative API will be introduced in OpenXML 1.1
 */
public class XMLElement extends ElementImpl implements XMLElementProxy {


    /**
     * Constructor requires owner document and element tag name. This will be
     * provided when an element of this or a derived class is being constructed
     * by an {@link XMLDocument}. The arguments must pass to this constructor
     * unaffected. Derived classes must implement at least one constructor with
     * the exact same signature to support element class registration; this
     * requirement is relaxed if an external element factory is used.
     *
     * @param owner The owner document
     * @param tagName The element's tag name
     */
    public XMLElement( Document owner, String tagName ) {
        super( (DocumentImpl)owner, tagName );
    }


    public XMLElement() {
        super();
    }


    /**
     * Associates this element with a user object. There is no limit on what
     * the user object may hold.
     *
     * @param userObject The user object
     */
    public void setUserObject( Object userObject ) {
        _userObject = userObject;
    }


    /**
     * Returns the user object associated with this element. There is no limit
     * on what the user object may hold.
     *
     * @return The user object
     */
    public Object getUserObject() {
        return _userObject;
    }


    /**
     * Returns the identifier of this element. Unless specifies otherwise in
     * the DTD, this would be the value of the <TT>id</TT> attribute. It may
     * be a textual value or null.
     *
     * @return The identifier of this element
     */
    public String getID() {
        return getAttribute( "id" );
    }

    /**
     * Holds a user object. Any object can be associated with this element
     * using the appropriate set/get methods.
     */
    protected Object _userObject;

}

⌨️ 快捷键说明

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