| /* |
| * reserved comment block |
| * DO NOT REMOVE OR ALTER! |
| */ |
| /* |
| * Copyright 1999-2002,2004 The Apache Software Foundation. |
| * |
| * Licensed 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 com.sun.org.apache.xerces.internal.dom.events; |
| |
| import org.w3c.dom.events.Event; |
| import org.w3c.dom.events.EventTarget; |
| |
| /** |
| * EventImpl is an implementation of the basic "generic" DOM Level 2 Event |
| * object. It may be subclassed by more specialized event sets. |
| * Note that in our implementation, events are re-dispatchable (dispatch |
| * clears the stopPropagation and preventDefault flags before it starts); |
| * I believe that is the DOM's intent but I don't see an explicit statement |
| * to this effect. |
| * |
| * @xerces.internal |
| * |
| */ |
| public class EventImpl implements Event |
| { |
| public String type=null; |
| public EventTarget target; |
| public EventTarget currentTarget; |
| public short eventPhase; |
| public boolean initialized=false, bubbles=true, cancelable=false; |
| public boolean stopPropagation=false, preventDefault=false; |
| |
| protected long timeStamp = System.currentTimeMillis(); |
| |
| /** The DOM doesn't deal with constructors, so instead we have an |
| initializer call to set most of the read-only fields. The |
| others are set, and reset, by the event subsystem during dispatch. |
| <p> |
| Note that init() -- and the subclass-specific initWhatever() calls -- |
| may be reinvoked. At least one initialization is required; repeated |
| initializations overwrite the event with new values of their |
| parameters. |
| */ |
| public void initEvent(String eventTypeArg, boolean canBubbleArg, |
| boolean cancelableArg) |
| { |
| type=eventTypeArg; |
| bubbles=canBubbleArg; |
| cancelable=cancelableArg; |
| |
| initialized=true; |
| } |
| |
| /** @return true iff this Event is of a class and type which supports |
| bubbling. In the generic case, this is True. |
| */ |
| public boolean getBubbles() |
| { |
| return bubbles; |
| } |
| |
| /** @return true iff this Event is of a class and type which (a) has a |
| Default Behavior in this DOM, and (b)allows cancellation (blocking) |
| of that behavior. In the generic case, this is False. |
| */ |
| public boolean getCancelable() |
| { |
| return cancelable; |
| } |
| |
| /** @return the Node (EventTarget) whose EventListeners are currently |
| being processed. During capture and bubble phases, this may not be |
| the target node. */ |
| public EventTarget getCurrentTarget() |
| { |
| return currentTarget; |
| } |
| |
| /** @return the current processing phase for this event -- |
| CAPTURING_PHASE, AT_TARGET, BUBBLING_PHASE. (There may be |
| an internal DEFAULT_PHASE as well, but the users won't see it.) */ |
| public short getEventPhase() |
| { |
| return eventPhase; |
| } |
| |
| /** @return the EventTarget (Node) to which the event was originally |
| dispatched. |
| */ |
| public EventTarget getTarget() |
| { |
| return target; |
| } |
| |
| /** @return event name as a string |
| */ |
| public String getType() |
| { |
| return type; |
| } |
| |
| public long getTimeStamp() { |
| return timeStamp; |
| } |
| |
| /** Causes exit from in-progress event dispatch before the next |
| currentTarget is selected. Replaces the preventBubble() and |
| preventCapture() methods which were present in early drafts; |
| they may be reintroduced in future levels of the DOM. */ |
| public void stopPropagation() |
| { |
| stopPropagation=true; |
| } |
| |
| /** Prevents any default processing built into the target node from |
| occurring. |
| */ |
| public void preventDefault() |
| { |
| preventDefault=true; |
| } |
| |
| } |