All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.batik.dom.events.DOMMutationEvent Maven / Gradle / Ivy

The newest version!
/*

   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.batik.dom.events;

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

/**
 * The MutationEvent class provides specific contextual information
 * associated with Mutation events.
 *
 * @author Stephane Hillion
 * @author Thierry Kormann
 * @version $Id$
 */
public class DOMMutationEvent extends AbstractEvent implements MutationEvent {

    private Node relatedNode;
    private String prevValue;
    private String newValue;
    private String attrName;
    private short attrChange;

    /**
     * DOM: relatedNode is used to identify a secondary
     * node related to a mutation event. For example, if a mutation
     * event is dispatched to a node indicating that its parent has
     * changed, the relatedNode is the changed parent.
     * If an event is instead dispatch to a subtree indicating a node
     * was changed within it, the relatedNode is the
     * changed node.
     */
    public Node getRelatedNode() {
        return relatedNode;
    }

    /**
     * DOM: prevValue indicates the previous value of the
     * Attr node in DOMAttrModified events, and of the
     * CharacterData node in DOMCharDataModified events.
     */
    public String getPrevValue() {
        return prevValue;
    }

    /**
     * DOM: newValue indicates the new value of the
     * Attr node in DOMAttrModified events, and of the
     * CharacterData node in DOMCharDataModified events.
     */
    public String getNewValue() {
        return newValue;
    }

    /**
     * DOM: attrName indicates the name of the changed
     * Attr node in a DOMAttrModified event.
     */
    public String getAttrName() {
        return attrName;
    }

    /**
     * Implements {@link org.w3c.dom.events.MutationEvent#getAttrChange()}.
     */
    public short getAttrChange() {
        return attrChange;
    }

    /**
     * DOM: The initMutationEvent method is used to
     * initialize the value of a MutationEvent created
     * through the DocumentEvent interface.  This method
     * may only be called before the MutationEvent has
     * been dispatched via the dispatchEvent method,
     * though it may be called multiple times during that phase if
     * necessary.  If called multiple times, the final invocation
     * takes precedence.
     *
     * @param typeArg Specifies the event type.
     * @param canBubbleArg Specifies whether or not the event can bubble.
     * @param cancelableArg Specifies whether or not the event's default
     *   action can be prevented.
     * @param relatedNodeArg Specifies the Event's related Node
     * @param prevValueArg Specifies the Event's
     *   prevValue property
     * @param newValueArg Specifies the Event's
     *   newValue property
     * @param attrNameArg Specifies the Event's
     *   attrName property
     */
    public void initMutationEvent(String typeArg,
                                  boolean canBubbleArg,
                                  boolean cancelableArg,
                                  Node relatedNodeArg,
                                  String prevValueArg,
                                  String newValueArg,
                                  String attrNameArg,
                                  short attrChangeArg) {
        initEvent(typeArg, canBubbleArg, cancelableArg);
        this.relatedNode = relatedNodeArg;
        this.prevValue = prevValueArg;
        this.newValue = newValueArg;
        this.attrName = attrNameArg;
        this.attrChange = attrChangeArg;
    }

    /**
     * DOM: Initializes this event object.
     */
    public void initMutationEventNS(String namespaceURIArg,
                                    String typeArg,
                                    boolean canBubbleArg,
                                    boolean cancelableArg,
                                    Node relatedNodeArg,
                                    String prevValueArg,
                                    String newValueArg,
                                    String attrNameArg,
                                    short attrChangeArg) {
        initEventNS(namespaceURIArg, typeArg, canBubbleArg, cancelableArg);
        this.relatedNode = relatedNodeArg;
        this.prevValue = prevValueArg;
        this.newValue = newValueArg;
        this.attrName = attrNameArg;
        this.attrChange = attrChangeArg;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy