1. /*
  2. * Copyright (c) 2001 World Wide Web Consortium,
  3. * (Massachusetts Institute of Technology, Institut National de
  4. * Recherche en Informatique et en Automatique, Keio University). All
  5. * Rights Reserved. This program is distributed under the W3C's Software
  6. * Intellectual Property License. This program is distributed in the
  7. * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
  8. * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  9. * PURPOSE.
  10. * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
  11. */
  12. package com.sun.org.apache.xerces.internal.dom3.as;
  13. /**
  14. * @deprecated
  15. * The <code>ASObject</code> interface is analogous to a <code>Node</code> in
  16. * , e.g., an element declaration.
  17. * <p>Opaque.
  18. * <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
  19. and Save Specification</a>.
  20. */
  21. public interface ASObject {
  22. // ASObjectType
  23. /**
  24. * The node is an <code>ASElementDeclaration</code>.
  25. */
  26. public static final short AS_ELEMENT_DECLARATION = 1;
  27. /**
  28. * The node is an <code>ASAttributeDeclaration</code>.
  29. */
  30. public static final short AS_ATTRIBUTE_DECLARATION = 2;
  31. /**
  32. * The node is a <code>ASNotationDeclaration</code>.
  33. */
  34. public static final short AS_NOTATION_DECLARATION = 3;
  35. /**
  36. * The node is an <code>ASEntityDeclaration</code>.
  37. */
  38. public static final short AS_ENTITY_DECLARATION = 4;
  39. /**
  40. * The node is a <code>ASContentModel</code>.
  41. */
  42. public static final short AS_CONTENTMODEL = 5;
  43. /**
  44. * The node is a <code>ASModel</code>.
  45. */
  46. public static final short AS_MODEL = 6;
  47. /**
  48. * A code representing the underlying object as defined above.
  49. */
  50. public short getAsNodeType();
  51. /**
  52. * The <code>ASModel</code> object associated with this
  53. * <code>ASObject</code>. For a node of type <code>AS_MODEL</code>, this
  54. * is <code>null</code>.
  55. */
  56. public ASModel getOwnerASModel();
  57. /**
  58. * The <code>ASModel</code> object associated with this
  59. * <code>ASObject</code>. For a node of type <code>AS_MODEL</code>, this
  60. * is <code>null</code>.
  61. */
  62. public void setOwnerASModel(ASModel ownerASModel);
  63. /**
  64. * The <code>name</code> of this <code>ASObject</code> depending on the
  65. * <code>ASObject</code> type.
  66. */
  67. public String getNodeName();
  68. /**
  69. * The <code>name</code> of this <code>ASObject</code> depending on the
  70. * <code>ASObject</code> type.
  71. */
  72. public void setNodeName(String nodeName);
  73. /**
  74. * The namespace prefix of this node, or <code>null</code> if it is
  75. * unspecified.
  76. */
  77. public String getPrefix();
  78. /**
  79. * The namespace prefix of this node, or <code>null</code> if it is
  80. * unspecified.
  81. */
  82. public void setPrefix(String prefix);
  83. /**
  84. * Returns the local part of the qualified name of this
  85. * <code>ASObject</code>.
  86. */
  87. public String getLocalName();
  88. /**
  89. * Returns the local part of the qualified name of this
  90. * <code>ASObject</code>.
  91. */
  92. public void setLocalName(String localName);
  93. /**
  94. * The namespace URI of this node, or <code>null</code> if it is
  95. * unspecified. defines how a namespace URI is attached to schema
  96. * components.
  97. */
  98. public String getNamespaceURI();
  99. /**
  100. * The namespace URI of this node, or <code>null</code> if it is
  101. * unspecified. defines how a namespace URI is attached to schema
  102. * components.
  103. */
  104. public void setNamespaceURI(String namespaceURI);
  105. /**
  106. * Creates a copy of this <code>ASObject</code>. See text for
  107. * <code>cloneNode</code> off of <code>Node</code> but substitute AS
  108. * functionality.
  109. * @param deep Setting the <code>deep</code> flag on, causes the whole
  110. * subtree to be duplicated. Setting it to <code>false</code> only
  111. * duplicates its immediate child nodes.
  112. * @return Cloned <code>ASObject</code>.
  113. */
  114. public ASObject cloneASObject(boolean deep);
  115. }