001 /**
002 * Created on 24-feb-2005
003 * Created by jh
004 */
005 package org.springframework.richclient.widget.editor.provider;
006
007 public class DataProviderEvent
008 {
009
010 /**
011 * Type of event: New, Update or Delete.
012 */
013 private final int eventType;
014
015 /**
016 * The new entity: result of update event or created object of new event.
017 */
018 private final Object newEntity;
019
020 /**
021 * The old entity: object that was deleted or previous value of update
022 * event.
023 */
024 private final Object oldEntity;
025
026 /**
027 * New object created event. Should have a newEntity.
028 */
029 public static final int EVENT_TYPE_NEW = 1;
030
031 /**
032 * Object updated event. Should have both: a newEntity and an oldEntity.
033 */
034 public static final int EVENT_TYPE_UPDATE = 2;
035
036 /**
037 * Object deleted event. Should have an oldEntity.
038 */
039 public static final int EVENT_TYPE_DELETE = 3;
040
041 /**
042 * Constructor. Maak een nieuw event aan met de correcte nieuwe en oude
043 * entiteit waarden.
044 *
045 * @param eventType
046 * Type van event.
047 * @param oldEntity
048 * Oude waarde van de entiteit.
049 * @param newEntity
050 * Nieuwe waarde van de entiteit.
051 */
052 public DataProviderEvent(final int eventType, Object oldEntity, Object newEntity)
053 {
054 this.eventType = eventType;
055 this.oldEntity = oldEntity;
056 this.newEntity = newEntity;
057 }
058
059 public Object getNewEntity()
060 {
061 return this.newEntity;
062 }
063
064 public Object getOldEntity()
065 {
066 return oldEntity;
067 }
068
069 public int getEventType()
070 {
071 return this.eventType;
072 }
073
074 public static final DataProviderEvent newEntityEvent(Object newEntity)
075 {
076 return new DataProviderEvent(EVENT_TYPE_NEW, null, newEntity);
077 }
078
079 public static final DataProviderEvent updateEntityEvent(Object oldEntity, Object newEntity)
080 {
081 return new DataProviderEvent(EVENT_TYPE_UPDATE, oldEntity, newEntity);
082 }
083
084 public static final DataProviderEvent deleteEntityEvent(Object oldEntity)
085 {
086 return new DataProviderEvent(EVENT_TYPE_DELETE, oldEntity, null);
087 }
088 }