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

org.xmind.core.event.CoreEvent Maven / Gradle / Ivy

/* ******************************************************************************
 * Copyright (c) 2006-2012 XMind Ltd. and others.
 * 
 * This file is a part of XMind 3. XMind releases 3 and
 * above are dual-licensed under the Eclipse Public License (EPL),
 * which is available at http://www.eclipse.org/legal/epl-v10.html
 * and the GNU Lesser General Public License (LGPL), 
 * which is available at http://www.gnu.org/licenses/lgpl.html
 * See http://www.xmind.net/license.html for details.
 * 
 * Contributors:
 *     XMind Ltd. - initial API and implementation
 *******************************************************************************/
package org.xmind.core.event;

import java.util.EventObject;

/**
 * @author MANGOSOFT
 * 
 */
public class CoreEvent extends EventObject {

    /**
     * 
     */
    private static final long serialVersionUID = -5729530103366986314L;

    private String type;

    private Object oldValue;

    private Object newValue;

    private int index;

    private Object target;

    private Object data;

    public CoreEvent(ICoreEventSource source, String type, Object target) {
        this(source, type, target, null, null, -1);
    }

    public CoreEvent(ICoreEventSource source, String type, Object target,
            int index) {
        this(source, type, target, null, null, index);
    }

    public CoreEvent(ICoreEventSource source, String type, Object target,
            Object oldValue, Object newValue) {
        this(source, type, target, oldValue, newValue, -1);
    }

    public CoreEvent(ICoreEventSource source, String type, Object oldValue,
            Object newValue) {
        this(source, type, null, oldValue, newValue, -1);
    }

    public CoreEvent(ICoreEventSource source, String type, Object oldValue,
            Object newValue, int index) {
        this(source, type, null, oldValue, newValue, index);
    }

    public CoreEvent(ICoreEventSource source, String type, Object target,
            Object oldValue, Object newValue, int index) {
        super(source);
        this.type = type;
        this.oldValue = oldValue;
        this.newValue = newValue;
        this.target = target;
        this.index = index;
    }

    /**
     * @return
     */
    public ICoreEventSource getEventSource() {
        return (ICoreEventSource) getSource();
    }

    /**
     * 
     * @return
     */
    public String getType() {
        return type;
    }

    /**
     * @return
     */
    public Object getOldValue() {
        return oldValue;
    }

    /**
     * @return
     */
    public Object getNewValue() {
        return newValue;
    }

    public void setNewValue(Object newValue) {
        this.newValue = newValue;
    }

    public void setOldValue(Object oldValue) {
        this.oldValue = oldValue;
    }

    /**
     * 
     * @return
     */
    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }

    /**
     * 
     * @return
     */
    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }

    public Object getTarget() {
        return target;
    }

    public void setTarget(Object target) {
        this.target = target;
    }

    public String toString() {
        StringBuilder sb = new StringBuilder(30);
        sb.append("{type="); //$NON-NLS-1$
        sb.append(type);
        sb.append(",source="); //$NON-NLS-1$
        sb.append(source);
        if (target != null) {
            sb.append(",target="); //$NON-NLS-1$
            sb.append(target);
        }
        if (oldValue != null) {
            sb.append(",oldValue="); //$NON-NLS-1$
            sb.append(oldValue);
        }
        if (newValue != null) {
            sb.append(",newValue="); //$NON-NLS-1$
            sb.append(newValue);
        }
        if (index >= 0) {
            sb.append(",index="); //$NON-NLS-1$
            sb.append(index);
        }
        if (data != null) {
            sb.append(",data="); //$NON-NLS-1$
            sb.append(data);
        }
        sb.append("}"); //$NON-NLS-1$
        return sb.toString();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy