/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed 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. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * InstanceEvent.java * Copyright (C) 2002 University of Waikato, Hamilton, New Zealand * */ package weka.gui.beans; import weka.core.Instance; import weka.core.Instances; import java.util.EventObject; /** * Event that encapsulates a single instance or header information only * * @author <a href="mailto:mhall@cs.waikato.ac.nz">Mark Hall</a> * @version $Revision: 1.5 $ * @see EventObject */ public class InstanceEvent extends EventObject { /** for serialization */ private static final long serialVersionUID = 6104920894559423946L; public static final int FORMAT_AVAILABLE = 0; public static final int INSTANCE_AVAILABLE = 1; public static final int BATCH_FINISHED = 2; private Instances m_structure; private Instance m_instance; private int m_status; /** * Creates a new <code>InstanceEvent</code> instance that encapsulates * a single instance only. * * @param source the source of the event * @param instance the instance * @param status status code (either INSTANCE_AVAILABLE or BATCH_FINISHED) */ public InstanceEvent(Object source, Instance instance, int status) { super(source); m_instance = instance; m_status = status; } /** * Creates a new <code>InstanceEvent</code> instance which encapsulates * header information only. * * @param source an <code>Object</code> value * @param structure an <code>Instances</code> value */ public InstanceEvent(Object source, Instances structure) { super(source); m_structure = structure; m_status = FORMAT_AVAILABLE; } public InstanceEvent(Object source) { super(source); } /** * Get the instance * * @return an <code>Instance</code> value */ public Instance getInstance() { return m_instance; } /** * Set the instance * * @param i an <code>Instance</code> value */ public void setInstance(Instance i) { m_instance = i; } /** * Get the status * * @return an <code>int</code> value */ public int getStatus() { return m_status; } /** * Set the status * * @param s an <code>int</code> value */ public void setStatus(int s) { m_status = s; } /** * Set the instances structure * * @param structure an <code>Instances</code> value */ public void setStructure(Instances structure) { m_structure = structure; m_instance = null; m_status = FORMAT_AVAILABLE; } /** * Get the instances structure (may be null if this is not * a FORMAT_AVAILABLE event) * * @return an <code>Instances</code> value */ public Instances getStructure() { return m_structure; } }