1. /*
  2. * The Apache Software License, Version 1.1
  3. *
  4. *
  5. * Copyright (c) 1999-2002 The Apache Software Foundation. All rights
  6. * reserved.
  7. *
  8. * Redistribution and use in source and binary forms, with or without
  9. * modification, are permitted provided that the following conditions
  10. * are met:
  11. *
  12. * 1. Redistributions of source code must retain the above copyright
  13. * notice, this list of conditions and the following disclaimer.
  14. *
  15. * 2. Redistributions in binary form must reproduce the above copyright
  16. * notice, this list of conditions and the following disclaimer in
  17. * the documentation and/or other materials provided with the
  18. * distribution.
  19. *
  20. * 3. The end-user documentation included with the redistribution,
  21. * if any, must include the following acknowledgment:
  22. * "This product includes software developed by the
  23. * Apache Software Foundation (http://www.apache.org/)."
  24. * Alternately, this acknowledgment may appear in the software itself,
  25. * if and wherever such third-party acknowledgments normally appear.
  26. *
  27. * 4. The names "Xerces" and "Apache Software Foundation" must
  28. * not be used to endorse or promote products derived from this
  29. * software without prior written permission. For written
  30. * permission, please contact apache@apache.org.
  31. *
  32. * 5. Products derived from this software may not be called "Apache",
  33. * nor may "Apache" appear in their name, without prior written
  34. * permission of the Apache Software Foundation.
  35. *
  36. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  37. * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  38. * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  39. * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  40. * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  41. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  42. * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  43. * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  44. * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  45. * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  46. * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  47. * SUCH DAMAGE.
  48. * ====================================================================
  49. *
  50. * This software consists of voluntary contributions made by many
  51. * individuals on behalf of the Apache Software Foundation and was
  52. * originally based on software copyright (c) 1999, International
  53. * Business Machines, Inc., http://www.apache.org. For more
  54. * information on the Apache Software Foundation, please see
  55. * <http://www.apache.org/>.
  56. */
  57. package com.sun.org.apache.xerces.internal.dom.events;
  58. import org.w3c.dom.Node;
  59. import org.w3c.dom.events.MutationEvent;
  60. /**
  61. * @version $Id: MutationEventImpl.java,v 1.7 2002/08/09 15:18:16 neilg Exp $
  62. */
  63. public class MutationEventImpl
  64. extends com.sun.org.apache.xerces.internal.dom.events.EventImpl
  65. implements MutationEvent
  66. {
  67. Node relatedNode=null;
  68. String prevValue=null,newValue=null,attrName=null;
  69. // REVISIT: The DOM Level 2 PR has a bug: the init method should let this
  70. // attribute be specified. Since it doesn't we have to give write access.
  71. public short attrChange;
  72. // NON-DOM CONSTANTS: Storage efficiency, avoid risk of typos.
  73. public static final String DOM_SUBTREE_MODIFIED = "DOMSubtreeModified";
  74. public static final String DOM_NODE_INSERTED = "DOMNodeInserted";
  75. public static final String DOM_NODE_REMOVED = "DOMNodeRemoved";
  76. public static final String DOM_NODE_REMOVED_FROM_DOCUMENT = "DOMNodeRemovedFromDocument";
  77. public static final String DOM_NODE_INSERTED_INTO_DOCUMENT = "DOMNodeInsertedIntoDocument";
  78. public static final String DOM_ATTR_MODIFIED = "DOMAttrModified";
  79. public static final String DOM_CHARACTER_DATA_MODIFIED = "DOMCharacterDataModified";
  80. /** @return the name of the Attr which
  81. changed, for DOMAttrModified events.
  82. Undefined for others.
  83. */
  84. public String getAttrName()
  85. {
  86. return attrName;
  87. }
  88. /**
  89. * <code>attrChange</code> indicates the type of change which triggered
  90. * the DOMAttrModified event. The values can be <code>MODIFICATION</code>
  91. * , <code>ADDITION</code>, or <code>REMOVAL</code>.
  92. */
  93. public short getAttrChange()
  94. {
  95. return attrChange;
  96. }
  97. /** @return the new string value of the Attr for DOMAttrModified events, or
  98. of the CharacterData node for DOMCharDataModifed events.
  99. Undefined for others.
  100. */
  101. public String getNewValue()
  102. {
  103. return newValue;
  104. }
  105. /** @return the previous string value of the Attr for DOMAttrModified events, or
  106. of the CharacterData node for DOMCharDataModifed events.
  107. Undefined for others.
  108. */
  109. public String getPrevValue()
  110. {
  111. return prevValue;
  112. }
  113. /** @return a Node related to this event, other than the target that the
  114. node was dispatched to. For DOMNodeRemoved, it is the node which
  115. was removed.
  116. No other uses are currently defined.
  117. */
  118. public Node getRelatedNode()
  119. {
  120. return relatedNode;
  121. }
  122. /** Initialize a mutation event, or overwrite the event's current
  123. settings with new values of the parameters.
  124. */
  125. public void initMutationEvent(String typeArg, boolean canBubbleArg,
  126. boolean cancelableArg, Node relatedNodeArg, String prevValueArg,
  127. String newValueArg, String attrNameArg, short attrChangeArg)
  128. {
  129. relatedNode=relatedNodeArg;
  130. prevValue=prevValueArg;
  131. newValue=newValueArg;
  132. attrName=attrNameArg;
  133. attrChange=attrChangeArg;
  134. super.initEvent(typeArg,canBubbleArg,cancelableArg);
  135. }
  136. }