/* * Copyright (c) 2007 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] in the hope that * it will be useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 * * Difference to the original copy of this file: * 1) REMOVE public boolean canDispatch(String namespaceURI, * String type); */ package org.w3c.dom.events; import org.w3c.dom.DOMException; /** * The <code>DocumentEvent</code> interface provides a mechanism by which the * user can create an <code>Event</code> object of a type supported by the * implementation. If the feature "Events" is supported by the * <code>Document</code> object, the <code>DocumentEvent</code> interface * must be implemented on the same object. If the feature "+Events" is * supported by the <code>Document</code> object, an object that supports * the <code>DocumentEvent</code> interface must be returned by invoking the * method <code>Node.getFeature("+Events", "3.0")</code> on the * <code>Document</code> object. * <p>See also the <a href='http://www.w3.org/TR/2007/WD-DOM-Level-3-Events-20071207'> Document Object Model (DOM) Level 3 Events Specification </a>. * @since DOM Level 2 */ public interface DocumentEvent { /** * Creates an event object of the type specified. * @param eventType The <code>eventType</code> parameter specifies the * name of the DOM Events interface to be supported by the created * event object, e.g. <code>"Event"</code>, <code>"MouseEvent"</code>, * <code>"MutationEvent"</code> and so on. If the <code>Event</code> * is to be dispatched via the <code>EventTarget.dispatchEvent()</code> * method the appropriate event initialization method must be called * after creation in order to initialize the <code>Event</code>'s * values. As an example, a user wishing to synthesize some kind of * <code>UIEvent</code> would invoke * <code>DocumentEvent.createEvent("UIEvent")</code>. The * <code>UIEvent.initUIEventNS()</code> method could then be called on * the newly created <code>UIEvent</code> object to set the specific * type of user interface event to be dispatched, DOMActivate for * example, and set its context information, e.g. * <code>UIEvent.detail</code> in this example. For backward * compatibility reason, "UIEvents", "MouseEvents", "MutationEvents", * and "HTMLEvents" feature names are valid values for the parameter * <code>eventType</code> and represent respectively the interfaces * "UIEvent", "MouseEvent", "MutationEvent", and "Event", and the * characters 'a'..'z' are considered equivalent to the characters * 'A'..'Z'. * @return The newly created event object. * @exception DOMException * NOT_SUPPORTED_ERR: Raised if the implementation does not support the * <code>Event</code> interface requested. */ public Event createEvent(String eventType) throws DOMException; }