001: /*
002: * Jacareto Copyright (c) 2002-2005
003: * Applied Computer Science Research Group, Darmstadt University of
004: * Technology, Institute of Mathematics & Computer Science,
005: * Ludwigsburg University of Education, and Computer Based
006: * Learning Research Group, Aachen University. All rights reserved.
007: *
008: * Jacareto is free software; you can redistribute it and/or
009: * modify it under the terms of the GNU General Public
010: * License as published by the Free Software Foundation; either
011: * version 2 of the License, or (at your option) any later version.
012: *
013: * Jacareto is distributed in the hope that it will be useful,
014: * but WITHOUT ANY WARRANTY; without even the implied warranty of
015: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
016: * General Public License for more details.
017: *
018: * You should have received a copy of the GNU General Public
019: * License along with Jacareto; if not, write to the Free
020: * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
021: *
022: */
023:
024: package jacareto.record;
025:
026: /**
027: * This event will be delivered to record change listeners when the properties have been changed.
028: * It contains the information about the record change.
029: *
030: * @author <a href="mailto:cspannagel@web.de">Christian Spannagel</a>
031: * @version 1.0
032: */
033: public class RecordChangeEvent {
034: /** Recordables have been added to the end of the record. */
035: public static final int RECORDABLES_ADDED = 0;
036:
037: /** Existent recordables have been changed. */
038: public static final int RECORDABLES_CHANGED = 1;
039:
040: /** Existent recordables have been removed. */
041: public static final int RECORDABLES_REMOVED = 2;
042:
043: /** Recordables have been inserted. */
044: public static final int RECORDABLES_INSERTED = 3;
045:
046: /** The record has been cleared. */
047: public static final int RECORD_CLEARED = 4;
048:
049: /** The record has been resetted. */
050: public static final int RECORD_RESETTED = 5;
051:
052: /** The record has been opened. */
053: public static final int RECORD_OPENED = 6;
054:
055: /** The record has been closed. */
056: public static final int RECORD_CLOSED = 7;
057:
058: /** The record name has been changed. */
059: public static final int RECORD_NAME_CHANGED = 8;
060:
061: /** The event type. */
062: private int ID;
063:
064: /** The recordables of the record which have caused the change. */
065: private Recordable[] recordables;
066:
067: /** The indices of the recordables. */
068: private int[] indices;
069:
070: /**
071: * Creates a record change event with the specified values.
072: *
073: * @param ID the ID of the change
074: * @param recordables the recordables which have caused the change. If no element has caused
075: * the change (a RECORD_OPENED event, for example), this value should be
076: * <code>null</code>.
077: * @param indices the indices of the recordables. If no element has caused the change (a
078: * RECORD_OPENED event, for example), this value should be <code>null</code>.
079: */
080: public RecordChangeEvent(int ID, Recordable[] recordables,
081: int[] indices) {
082: this .ID = ID;
083: this .recordables = recordables;
084: this .indices = indices;
085: }
086:
087: /**
088: * Returns the type of the event.
089: *
090: * @return the type
091: */
092: public int getID() {
093: return ID;
094: }
095:
096: /**
097: * Returns the recordables which have caused the record change. If no recordables has caused
098: * the change (a RECORD_OPENED event, for example), this method will return <code>null</code>.
099: *
100: * @return the recordables which have caused the change, of <code>null</code> if there is no
101: * such element.
102: */
103: public Recordable[] getRecordables() {
104: return recordables;
105: }
106:
107: /**
108: * Returns the indices of the recordables, or <code>null</code> if there is no one.
109: *
110: * @return DOCUMENT ME!
111: */
112: public int[] getIndices() {
113: return indices;
114: }
115: }
|