001: /*
002: * The contents of this file are subject to the terms of the Common Development
003: * and Distribution License (the License). You may not use this file except in
004: * compliance with the License.
005: *
006: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
007: * or http://www.netbeans.org/cddl.txt.
008: *
009: * When distributing Covered Code, include this CDDL Header Notice in each file
010: * and include the License file at http://www.netbeans.org/cddl.txt.
011: * If applicable, add the following below the CDDL Header, with the fields
012: * enclosed by brackets [] replaced by your own identifying information:
013: * "Portions Copyrighted [year] [name of copyright owner]"
014: *
015: * The Original Software is NetBeans. The Initial Developer of the Original
016: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
017: * Microsystems, Inc. All Rights Reserved.
018: */
019:
020: /**
021: *
022: */package org.netbeans.modules.bpel.model.api.events;
023:
024: import org.netbeans.modules.bpel.model.api.BpelEntity;
025:
026: /**
027: * @author ads
028: */
029: public class EntityUpdateEvent<T extends BpelEntity> extends
030: IndexedChangeEvent implements OutOfModelEvent {
031:
032: private static final long serialVersionUID = 6512333724051189804L;
033:
034: /**
035: * Constructor for EntityUpdateEvent with source ref.
036: *
037: * @param source
038: * source of event ( who produce this event ).
039: * @param parent
040: * element in OM that contains event entity.
041: * @param name
042: * entity name.
043: * @param oldValue
044: * old entity value.
045: * @param newValue
046: * old entity value.
047: */
048: public EntityUpdateEvent(Object source, BpelEntity parent,
049: String name, T oldValue, T newValue) {
050: super (source, parent, name, -1);
051: myOldValue = oldValue;
052: myNewValue = newValue;
053: }
054:
055: /**
056: * Constructor for EntityUpdateEvent with source ref and index.
057: *
058: * @param source
059: * source of event ( who produce this event ).
060: * @param parent
061: * element in OM that contains event entity.
062: * @param name
063: * entity name.
064: * @param oldValue
065: * old entity value.
066: * @param newValue
067: * new entity value.
068: * @param index
069: * index of child entity in parent.
070: */
071: public EntityUpdateEvent(Object source, BpelEntity parent,
072: String name, T oldValue, T newValue, int index) {
073: super (source, parent, name, index);
074: myOldValue = oldValue;
075: myNewValue = newValue;
076: }
077:
078: /**
079: * Constructor for EntityUpdateEvent without source ref.
080: *
081: * @param parent
082: * element in OM that contains event entity.
083: * @param name
084: * entity name.
085: * @param oldValue
086: * old entity value.
087: * @param newValue
088: * new entity value.
089: */
090: public EntityUpdateEvent(BpelEntity parent, String name,
091: T oldValue, T newValue) {
092: this (Thread.currentThread(), parent, name, oldValue, newValue);
093: }
094:
095: /**
096: * Constructor for EntityUpdateEvent with index and without source ref.
097: *
098: * @param parent
099: * element in OM that contains event entity.
100: * @param name
101: * entity name.
102: * @param oldValue
103: * old entity value.
104: * @param newValue
105: * new entity value.
106: * @param index
107: * index of child entity in parent.
108: */
109: public EntityUpdateEvent(BpelEntity parent, String name,
110: T oldValue, T newValue, int index) {
111: this (Thread.currentThread(), parent, name, oldValue, newValue,
112: index);
113: }
114:
115: /**
116: * @return old value.
117: */
118: public T getOldValue() {
119: return myOldValue;
120: }
121:
122: /**
123: * @return new value.
124: */
125: public T getNewValue() {
126: return myNewValue;
127: }
128:
129: /*
130: * (non-Javadoc)
131: *
132: * @see org.netbeans.modules.soa.model.bpel.api.events.OutOfModelEvent#getOutOfModelEntity()
133: */
134: /** {@inheritDoc} */
135: public BpelEntity getOutOfModelEntity() {
136: return getOldValue();
137: }
138:
139: private T myOldValue;
140:
141: private T myNewValue;
142:
143: }
|