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

eu.future.earth.gwt.client.date.DateEvent Maven / Gradle / Ivy

There is a newer version: 3.3
Show newest version
/*
 * Copyright 2007 Future Earth, [email protected]
 *
 * 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 eu.future.earth.gwt.client.date;

import java.util.Date;

import com.google.gwt.event.shared.GwtEvent;

public class DateEvent extends GwtEvent> {

	public enum DateEventActions {

		ADD,

		ADD_FAILED,

		ADD_DONE,

		UPDATE,

		UPDATE_FAILED,

		UPDATE_DONE,

		REMOVE,

		REMOVE_FAILED,

		REMOVE_DONE,

		DRAG_DROP,

		EDIT,

		SELECT_DAY,

		SELECT_MONTH,

		RELOAD,

		GO_TO_DAY_VIEW,

		DAY_SELECTED

	}

	private T data = null;

	private Date date = null;

	private DateEventActions command = DateEventActions.ADD;

	public DateEvent() {
		super();
	}

	/**
	 * Handler type.
	 */
	private static Type> TYPE;

	/**
	 * Fires a before selection event on all registered handlers in the handler manager. If no such handlers exist, this
	 * method will do nothing.
	 * 
	 * @param source
	 *            the source of the handlers
	 * @param navigator
	 *            the navigator associated with this event
	 * @param token
	 *            the navigation token associated with this event
	 * @return the event so that the caller can check if it was canceled, or null if no handlers of this event type have
	 *         been registered
	 */
	public static  DateEvent fire(HasDateEventHandlers source, Date navigator, T token) {
		// If no handlers exist, then type can be null.
		if (TYPE != null) {
			final DateEvent event = new DateEvent(navigator, token);
			source.fireEvent(event);
			return event;
		}
		return null;
	}

	/**
	 * Fires a before selection event on all registered handlers in the handler manager. If no such handlers exist, this
	 * method will do nothing.
	 * 
	 * @param source
	 *            the source of the handlers
	 * @param navigator
	 *            the navigator associated with this event
	 * @param token
	 *            the navigation token associated with this event
	 * @return the event so that the caller can check if it was canceled, or null if no handlers of this event type have
	 *         been registered
	 */
	public static  DateEvent fire(HasDateEventHandlers source, Date navigator) {
		// If no handlers exist, then type can be null.
		if (TYPE != null) {
			final DateEvent event = new DateEvent(navigator);
			source.fireEvent(event);
			return event;
		}
		return null;
	}

	/**
	 * Fires a before selection event on all registered handlers in the handler manager. If no such handlers exist, this
	 * method will do nothing.
	 * 
	 * @param source
	 *            the source of the handlers
	 * @param navigator
	 *            the navigator associated with this event
	 * @param token
	 *            the navigation token associated with this event
	 * @return the event so that the caller can check if it was canceled, or null if no handlers of this event type have
	 *         been registered
	 */
	public static  DateEvent fire(HasDateEventHandlers source, DateEvent navigator) {
		// If no handlers exist, then type can be null.
		if (TYPE != null) {
			source.fireEvent(navigator);
			return navigator;
		}
		return null;
	}

	/**
	 * Fires a before selection event on all registered handlers in the handler manager. If no such handlers exist, this
	 * method will do nothing.
	 * 
	 * @param source
	 *            the source of the handlers
	 * @param navigator
	 *            the navigator associated with this event
	 * @param token
	 *            the navigation token associated with this event
	 * @return the event so that the caller can check if it was canceled, or null if no handlers of this event type have
	 *         been registered
	 */
	public static  DateEvent fire(HasDateEventHandlers source, Date navigator, DateEventActions action) {
		// If no handlers exist, then type can be null.
		if (TYPE != null) {
			final DateEvent event = new DateEvent(navigator, action);
			source.fireEvent(event);
			return event;
		}
		return null;
	}

	/**
	 * Fires a before selection event on all registered handlers in the handler manager. If no such handlers exist, this
	 * method will do nothing.
	 * 
	 * @param source
	 *            the source of the handlers
	 * @param navigator
	 *            the navigator associated with this event
	 * @param token
	 *            the navigation token associated with this event
	 * @return the event so that the caller can check if it was canceled, or null if no handlers of this event type have
	 *         been registered
	 */
	public static  DateEvent fire(HasDateEventHandlers source, DateEventActions action) {
		// If no handlers exist, then type can be null.
		if (TYPE != null) {
			final DateEvent event = new DateEvent(action);
			source.fireEvent(event);
			return event;
		}
		return null;
	}

	/**
	 * Fires a before selection event on all registered handlers in the handler manager. If no such handlers exist, this
	 * method will do nothing.
	 * 
	 * @param source
	 *            the source of the handlers
	 * @param navigator
	 *            the navigator associated with this event
	 * @param token
	 *            the navigation token associated with this event
	 * @return the event so that the caller can check if it was canceled, or null if no handlers of this event type have
	 *         been registered
	 */
	public static  DateEvent fire(HasDateEventHandlers source, Date navigator, DateEventActions action, T newData) {
		// If no handlers exist, then type can be null.
		if (TYPE != null) {
			final DateEvent event = new DateEvent(navigator, action, newData);
			source.fireEvent(event);
			return event;
		}
		return null;
	}

	/**
	 * Fires a before selection event on all registered handlers in the handler manager. If no such handlers exist, this
	 * method will do nothing.
	 * 
	 * @param source
	 *            the source of the handlers
	 * @param navigator
	 *            the navigator associated with this event
	 * @param token
	 *            the navigation token associated with this event
	 * @return the event so that the caller can check if it was canceled, or null if no handlers of this event type have
	 *         been registered
	 */
	public static  DateEvent fire(HasDateEventHandlers source, DateEventActions action, T newData) {
		// If no handlers exist, then type can be null.
		if (TYPE != null) {
			final DateEvent event = new DateEvent(action, newData);
			source.fireEvent(event);
			return event;
		}
		return null;
	}

	public T getData() {
		return data;
	}

	public Date getDate() {
		return date;
	}

	public DateEventActions getCommand() {
		return command;
	}

	/**
	 * Gets the type associated with this event.
	 * 
	 * @return returns the handler type
	 */
	public static  Type> getType() {
		if (TYPE == null) {
			TYPE = new Type>();
		}
		return TYPE;
	}

	protected DateEvent(Date newDate, T token2) {
		super();
		date = newDate;
		data = token2;
	}

	protected DateEvent(Date newDate, DateEventActions newAction) {
		super();
		date = newDate;
		command = newAction;
	}

	protected DateEvent(DateEventActions newAction) {
		super();
		command = newAction;
	}

	protected DateEvent(DateEventActions newAction, T newData) {
		super();
		command = newAction;
		data = newData;
	}

	protected DateEvent(Date newDate, DateEventActions newAction, T newData) {
		super();
		date = newDate;
		command = newAction;
		data = newData;
	}

	protected DateEvent(Date newDate) {
		super();
		date = newDate;
	}

	@SuppressWarnings({
			"unchecked", "rawtypes"
	})
	@Override
	public final Type> getAssociatedType() {
		return (Type) TYPE;
	}

	protected void dispatch(DateEventListener handler) {
		handler.handleDateEvent(this);
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy