/*
 * Copyright (c) 2003, Morpho Project.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * 1. Redistributions of source code must retain the above copyright notice,
 *	  this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright notice,
 *	  this list of conditions and the following disclaimer in the documentation
 *	  and/or other materials provided with the distribution.
 * 3. Neither the name of the Morpho Project nor the names of its contributors
 *	  may be used to endorse or promote products derived from this software
 *	  without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */
package jp.morpho.webapp.servlet.jsp.tagext.html;

/**
 * <P>
 * Generic Attributes の events を表します。
 * </P>
 * <P>
 * events の HTML 4 定義は次のとおりです。
 * <PRE>
 * &lt;!ENTITY % events
 *  "onclick     %Script;       #IMPLIED  -- a pointer button was clicked --
 *   ondblclick  %Script;       #IMPLIED  -- a pointer button was double clicked--
 *   onmousedown %Script;       #IMPLIED  -- a pointer button was pressed down --
 *   onmouseup   %Script;       #IMPLIED  -- a pointer button was released --
 *   onmouseover %Script;       #IMPLIED  -- a pointer was moved onto --
 *   onmousemove %Script;       #IMPLIED  -- a pointer was moved within --
 *   onmouseout  %Script;       #IMPLIED  -- a pointer was moved away --
 *   onkeypress  %Script;       #IMPLIED  -- a key was pressed and released --
 *   onkeydown   %Script;       #IMPLIED  -- a key was pressed down --
 *   onkeyup     %Script;       #IMPLIED  -- a key was released --"
 *   &gt;
 * </PRE>
 * </P>
 * @author Kumiko Hiroi
 */
public interface Events
{
	/**
	 * <P>
	 * onclick 属性を返します。
	 * </P>
	 * @return onclick 属性
	 */
	public String getOnclick();

	/**
	 * <P>
	 * ondblclick 属性を返します。
	 * </P>
	 * @return ondblclick 属性
	 */
	public String getOndblclick();

	/**
	 * <P>
	 * onkeydown 属性を返します。
	 * </P>
	 * @return onkeydown 属性
	 */
	public String getOnkeydown();

	/**
	 * <P>
	 * onkeypress 属性を返します。
	 * </P>
	 * @return onkeypress 属性
	 */
	public String getOnkeypress();

	/**
	 * <P>
	 * onkeyup 属性を返します。
	 * </P>
	 * @return onkeyup 属性
	 */
	public String getOnkeyup();

	/**
	 * <P>
	 * onmousedown 属性を返します。
	 * </P>
	 * @return onmousedown 属性
	 */
	public String getOnmousedown();

	/**
	 * <P>
	 * onmousemove 属性を返します。
	 * </P>
	 * @return onmousemove 属性
	 */
	public String getOnmousemove();

	/**
	 * <P>
	 * onmouseout 属性を返します。
	 * </P>
	 * @return onmouseout 属性
	 */
	public String getOnmouseout();

	/**
	 * <P>
	 * onmouseover 属性を返します。
	 * </P>
	 * @return onmouseover 属性
	 */
	public String getOnmouseover();

	/**
	 * <P>
	 * onmouseup 属性を返します。
	 * </P>
	 * @return onmouseup 属性
	 */
	public String getOnmouseup();

	/**
	 * <P>
	 * onclick 属性を設定します。
	 * </P>
	 * @param onclick onclick 属性
	 */
	public void setOnclick(String onclick);

	/**
	 * <P>
	 * ondblclick 属性を設定します。
	 * </P>
	 * @param ondblclick ondblclick 属性
	 */
	public void setOndblclick(String ondblclick);

	/**
	 * <P>
	 * onkeydown 属性を設定します。
	 * </P>
	 * @param onkeydown onkeydown 属性
	 */
	public void setOnkeydown(String onkeydown);

	/**
	 * <P>
	 * onkeypress 属性を設定します。
	 * </P>
	 * @param onkeypress onkeypress 属性
	 */
	public void setOnkeypress(String onkeypress);

	/**
	 * <P>
	 * onkeyup 属性を設定します。
	 * </P>
	 * @param onkeyup onkeyup 属性
	 */
	public void setOnkeyup(String onkeyup);

	/**
	 * <P>
	 * onmousedown 属性を設定します。
	 * </P>
	 * @param onmousedown onmousedown 属性
	 */
	public void setOnmousedown(String onmousedown);

	/**
	 * <P>
	 * onmousemove 属性を設定します。
	 * </P>
	 * @param onmousemove onmousemove 属性
	 */
	public void setOnmousemove(String onmousemove);

	/**
	 * <P>
	 * onmouseout 属性を設定します。
	 * </P>
	 * @param onmouseout onmouseout 属性
	 */
	public void setOnmouseout(String onmouseout);

	/**
	 * <P>
	 * onmouseover 属性を設定します。
	 * </P>
	 * @param onmouseover onmouseover 属性
	 */
	public void setOnmouseover(String onmouseover);

	/**
	 * <P>
	 * onmouseup 属性を設定します。
	 * </P>
	 * @param onmouseup onmouseup 属性
	 */
	public void setOnmouseup(String onmouseup);
}
