001: /*
002: * Copyright (c) 2001 World Wide Web Consortium,
003: * (Massachusetts Institute of Technology, Institut National de
004: * Recherche en Informatique et en Automatique, Keio University). All
005: * Rights Reserved. This program is distributed under the W3C's Software
006: * Intellectual Property License. This program is distributed in the
007: * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
008: * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
009: * PURPOSE.
010: * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
011: */
012:
013: package org.apache.xerces.dom3.as;
014:
015: /**
016: * @deprecated
017: * The <code>ASObject</code> interface is analogous to a <code>Node</code> in
018: * , e.g., an element declaration.
019: * <p>Opaque.
020: * <p>See also the <a href='http://www.w3.org/TR/2001/WD-DOM-Level-3-ASLS-20011025'>Document Object Model (DOM) Level 3 Abstract Schemas and Load
021: and Save Specification</a>.
022: */
023: public interface ASObject {
024: // ASObjectType
025: /**
026: * The node is an <code>ASElementDeclaration</code>.
027: */
028: public static final short AS_ELEMENT_DECLARATION = 1;
029: /**
030: * The node is an <code>ASAttributeDeclaration</code>.
031: */
032: public static final short AS_ATTRIBUTE_DECLARATION = 2;
033: /**
034: * The node is a <code>ASNotationDeclaration</code>.
035: */
036: public static final short AS_NOTATION_DECLARATION = 3;
037: /**
038: * The node is an <code>ASEntityDeclaration</code>.
039: */
040: public static final short AS_ENTITY_DECLARATION = 4;
041: /**
042: * The node is a <code>ASContentModel</code>.
043: */
044: public static final short AS_CONTENTMODEL = 5;
045: /**
046: * The node is a <code>ASModel</code>.
047: */
048: public static final short AS_MODEL = 6;
049:
050: /**
051: * A code representing the underlying object as defined above.
052: */
053: public short getAsNodeType();
054:
055: /**
056: * The <code>ASModel</code> object associated with this
057: * <code>ASObject</code>. For a node of type <code>AS_MODEL</code>, this
058: * is <code>null</code>.
059: */
060: public ASModel getOwnerASModel();
061:
062: /**
063: * The <code>ASModel</code> object associated with this
064: * <code>ASObject</code>. For a node of type <code>AS_MODEL</code>, this
065: * is <code>null</code>.
066: */
067: public void setOwnerASModel(ASModel ownerASModel);
068:
069: /**
070: * The <code>name</code> of this <code>ASObject</code> depending on the
071: * <code>ASObject</code> type.
072: */
073: public String getNodeName();
074:
075: /**
076: * The <code>name</code> of this <code>ASObject</code> depending on the
077: * <code>ASObject</code> type.
078: */
079: public void setNodeName(String nodeName);
080:
081: /**
082: * The namespace prefix of this node, or <code>null</code> if it is
083: * unspecified.
084: */
085: public String getPrefix();
086:
087: /**
088: * The namespace prefix of this node, or <code>null</code> if it is
089: * unspecified.
090: */
091: public void setPrefix(String prefix);
092:
093: /**
094: * Returns the local part of the qualified name of this
095: * <code>ASObject</code>.
096: */
097: public String getLocalName();
098:
099: /**
100: * Returns the local part of the qualified name of this
101: * <code>ASObject</code>.
102: */
103: public void setLocalName(String localName);
104:
105: /**
106: * The namespace URI of this node, or <code>null</code> if it is
107: * unspecified. defines how a namespace URI is attached to schema
108: * components.
109: */
110: public String getNamespaceURI();
111:
112: /**
113: * The namespace URI of this node, or <code>null</code> if it is
114: * unspecified. defines how a namespace URI is attached to schema
115: * components.
116: */
117: public void setNamespaceURI(String namespaceURI);
118:
119: /**
120: * Creates a copy of this <code>ASObject</code>. See text for
121: * <code>cloneNode</code> off of <code>Node</code> but substitute AS
122: * functionality.
123: * @param deep Setting the <code>deep</code> flag on, causes the whole
124: * subtree to be duplicated. Setting it to <code>false</code> only
125: * duplicates its immediate child nodes.
126: * @return Cloned <code>ASObject</code>.
127: */
128: public ASObject cloneASObject(boolean deep);
129:
130: }
|