/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.xerces.dom.events;

import org.w3c.dom.Node;
import org.w3c.dom.events.MutationEvent;

An implementation of the DOM Level 2 MutationEvent interface.
@xerces.internal
Version:$Id: MutationEventImpl.java 533531 2007-04-29 17:24:58Z mrglavas $
/** * An implementation of the DOM Level 2 <code>MutationEvent</code> interface. * * @xerces.internal * * @version $Id: MutationEventImpl.java 533531 2007-04-29 17:24:58Z mrglavas $ */
public class MutationEventImpl extends EventImpl implements MutationEvent { Node relatedNode = null; String prevValue = null; String newValue = null; String attrName = null; // REVISIT: The DOM Level 2 PR has a bug: the init method should let this // attribute be specified. Since it doesn't we have to give write access. public short attrChange; // NON-DOM CONSTANTS: Storage efficiency, avoid risk of typos. public static final String DOM_SUBTREE_MODIFIED = "DOMSubtreeModified"; public static final String DOM_NODE_INSERTED = "DOMNodeInserted"; public static final String DOM_NODE_REMOVED = "DOMNodeRemoved"; public static final String DOM_NODE_REMOVED_FROM_DOCUMENT = "DOMNodeRemovedFromDocument"; public static final String DOM_NODE_INSERTED_INTO_DOCUMENT = "DOMNodeInsertedIntoDocument"; public static final String DOM_ATTR_MODIFIED = "DOMAttrModified"; public static final String DOM_CHARACTER_DATA_MODIFIED = "DOMCharacterDataModified";
Returns:the name of the Attr which changed, for DOMAttrModified events. Undefined for others.
/** * @return the name of the Attr which * changed, for DOMAttrModified events. * Undefined for others. */
public String getAttrName() { return attrName; }
attrChange indicates the type of change which triggered the DOMAttrModified event. The values can be MODIFICATION , ADDITION, or REMOVAL.
/** * <code>attrChange</code> indicates the type of change which triggered * the DOMAttrModified event. The values can be <code>MODIFICATION</code> * , <code>ADDITION</code>, or <code>REMOVAL</code>. */
public short getAttrChange() { return attrChange; }
Returns:the new string value of the Attr for DOMAttrModified events, or of the CharacterData node for DOMCharDataModifed events. Undefined for others.
/** * @return the new string value of the Attr for DOMAttrModified events, or * of the CharacterData node for DOMCharDataModifed events. * Undefined for others. */
public String getNewValue() { return newValue; }
Returns:the previous string value of the Attr for DOMAttrModified events, or of the CharacterData node for DOMCharDataModifed events. Undefined for others.
/** * @return the previous string value of the Attr for DOMAttrModified events, or * of the CharacterData node for DOMCharDataModifed events. * Undefined for others. */
public String getPrevValue() { return prevValue; }
Returns:a Node related to this event, other than the target that the node was dispatched to. For DOMNodeRemoved, it is the node which was removed. No other uses are currently defined.
/** * @return a Node related to this event, other than the target that the * node was dispatched to. For DOMNodeRemoved, it is the node which * was removed. * No other uses are currently defined. */
public Node getRelatedNode() { return relatedNode; }
Initialize a mutation event, or overwrite the event's current settings with new values of the parameters.
/** * Initialize a mutation event, or overwrite the event's current * settings with new values of the parameters. */
public void initMutationEvent(String typeArg, boolean canBubbleArg, boolean cancelableArg, Node relatedNodeArg, String prevValueArg, String newValueArg, String attrNameArg, short attrChangeArg) { relatedNode = relatedNodeArg; prevValue = prevValueArg; newValue = newValueArg; attrName = attrNameArg; attrChange = attrChangeArg; super.initEvent(typeArg, canBubbleArg, cancelableArg); } }