Decided to switch to using setOld{Entry|Value} instead of having two
constructors. Fixed ElementUpdatedEvent along the way. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6590 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -44,19 +44,10 @@ public class AttributeChangedEvent extends NamedEvent
|
|||||||
* @param value the new value of the attribute (in the case of primitive types, the
|
* @param value the new value of the attribute (in the case of primitive types, the
|
||||||
* reflection-defined object-alternative is used).
|
* reflection-defined object-alternative is used).
|
||||||
*/
|
*/
|
||||||
public AttributeChangedEvent (int targetOid, String name, Object value, Object oldValue)
|
public AttributeChangedEvent (int targetOid, String name, Object value)
|
||||||
{
|
{
|
||||||
super(targetOid, name);
|
super(targetOid, name);
|
||||||
_value = value;
|
_value = value;
|
||||||
_oldValue = oldValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** For unserialization. */
|
|
||||||
public AttributeChangedEvent ()
|
|
||||||
{
|
|
||||||
super(0, null);
|
|
||||||
// we can't allow our primary ctor to be called during unserialization, or it will wipe out
|
|
||||||
// the hackery we do with _oldValue
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -182,6 +173,12 @@ public class AttributeChangedEvent extends NamedEvent
|
|||||||
StringUtil.toString(buf, _value);
|
StringUtil.toString(buf, _value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected AttributeChangedEvent setOldValue (Object oldValue)
|
||||||
|
{
|
||||||
|
_oldValue = oldValue;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
protected Object _value;
|
protected Object _value;
|
||||||
protected transient Object _oldValue = UNSET_OLD_VALUE;
|
protected transient Object _oldValue = UNSET_OLD_VALUE;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -871,7 +871,8 @@ public class DObject
|
|||||||
String name, Object value, Object oldValue, Transport transport)
|
String name, Object value, Object oldValue, Transport transport)
|
||||||
{
|
{
|
||||||
// dispatch an attribute changed event
|
// dispatch an attribute changed event
|
||||||
postEvent(new AttributeChangedEvent(_oid, name, value, oldValue).setTransport(transport));
|
postEvent(new AttributeChangedEvent(_oid, name, value).
|
||||||
|
setOldValue(oldValue).setTransport(transport));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -889,8 +890,8 @@ public class DObject
|
|||||||
String name, int index, Object value, Object oldValue, Transport transport)
|
String name, int index, Object value, Object oldValue, Transport transport)
|
||||||
{
|
{
|
||||||
// dispatch an attribute changed event
|
// dispatch an attribute changed event
|
||||||
postEvent(new ElementUpdatedEvent(_oid, name, value, oldValue, index).
|
postEvent(new ElementUpdatedEvent(_oid, name, value, index).
|
||||||
setTransport(transport));
|
setOldValue(oldValue).setTransport(transport));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -962,7 +963,7 @@ public class DObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// dispatch an entry removed event
|
// dispatch an entry removed event
|
||||||
postEvent(new EntryRemovedEvent<T>(_oid, name, key, oldEntry));
|
postEvent(new EntryRemovedEvent<T>(_oid, name, key).setOldEntry(oldEntry));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -989,7 +990,8 @@ public class DObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// dispatch an entry updated event
|
// dispatch an entry updated event
|
||||||
postEvent(new EntryUpdatedEvent<T>(_oid, name, entry, oldEntry).setTransport(transport));
|
postEvent(new EntryUpdatedEvent<T>(_oid, name, entry).
|
||||||
|
setOldEntry(oldEntry).setTransport(transport));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean isAuthoritative ()
|
protected boolean isAuthoritative ()
|
||||||
|
|||||||
@@ -43,18 +43,23 @@ public class ElementUpdatedEvent extends NamedEvent
|
|||||||
* @param name the name of the attribute (data member) for which an element has changed.
|
* @param name the name of the attribute (data member) for which an element has changed.
|
||||||
* @param value the new value of the element (in the case of primitive types, the
|
* @param value the new value of the element (in the case of primitive types, the
|
||||||
* reflection-defined object-alternative is used).
|
* reflection-defined object-alternative is used).
|
||||||
* @param ovalue the previous value of the element (in the case of primitive types, the
|
|
||||||
* reflection-defined object-alternative is used).
|
|
||||||
* @param index the index in the array of the updated element.
|
* @param index the index in the array of the updated element.
|
||||||
*/
|
*/
|
||||||
public ElementUpdatedEvent (int targetOid, String name, Object value, Object ovalue, int index)
|
public ElementUpdatedEvent (int targetOid, String name, Object value, int index)
|
||||||
{
|
{
|
||||||
super(targetOid, name);
|
super(targetOid, name);
|
||||||
_value = value;
|
_value = value;
|
||||||
_oldValue = ovalue;
|
|
||||||
_index = index;
|
_index = index;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** For unserialization. */
|
||||||
|
public ElementUpdatedEvent ()
|
||||||
|
{
|
||||||
|
super(0, null);
|
||||||
|
// we can't allow our primary ctor to be called during unserialization, or it will wipe out
|
||||||
|
// the hackery we do with _oldValue
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the new value of the element.
|
* Returns the new value of the element.
|
||||||
*/
|
*/
|
||||||
@@ -180,6 +185,12 @@ public class ElementUpdatedEvent extends NamedEvent
|
|||||||
buf.append(", index=").append(_index);
|
buf.append(", index=").append(_index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected ElementUpdatedEvent setOldValue (Object oldValue)
|
||||||
|
{
|
||||||
|
_oldValue = oldValue;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
protected Object _value;
|
protected Object _value;
|
||||||
protected int _index;
|
protected int _index;
|
||||||
protected transient Object _oldValue = UNSET_OLD_VALUE;
|
protected transient Object _oldValue = UNSET_OLD_VALUE;
|
||||||
|
|||||||
@@ -42,21 +42,11 @@ public class EntryRemovedEvent<T extends DSet.Entry> extends EntryEvent<T>
|
|||||||
* @param targetOid the object id of the object from whose set we will remove an entry.
|
* @param targetOid the object id of the object from whose set we will remove an entry.
|
||||||
* @param name the name of the attribute from which to remove the specified entry.
|
* @param name the name of the attribute from which to remove the specified entry.
|
||||||
* @param key the entry key that identifies the entry to remove.
|
* @param key the entry key that identifies the entry to remove.
|
||||||
* @param oldEntry the previous value of the entry.
|
|
||||||
*/
|
*/
|
||||||
public EntryRemovedEvent (int targetOid, String name, Comparable<?> key, T oldEntry)
|
public EntryRemovedEvent (int targetOid, String name, Comparable<?> key)
|
||||||
{
|
{
|
||||||
super(targetOid, name);
|
super(targetOid, name);
|
||||||
_key = key;
|
_key = key;
|
||||||
_oldEntry = oldEntry;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** For unserialization. */
|
|
||||||
public EntryRemovedEvent ()
|
|
||||||
{
|
|
||||||
super(0, null);
|
|
||||||
// we can't allow our primary ctor to be called during unserialization, or it will wipe out
|
|
||||||
// the hackery we do with _oldEntry
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -125,6 +115,12 @@ public class EntryRemovedEvent<T extends DSet.Entry> extends EntryEvent<T>
|
|||||||
buf.append(", key=").append(_key);
|
buf.append(", key=").append(_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected EntryRemovedEvent setOldEntry (T oldEntry)
|
||||||
|
{
|
||||||
|
_oldEntry = oldEntry;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
protected Comparable<?> _key;
|
protected Comparable<?> _key;
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
|||||||
@@ -43,21 +43,11 @@ public class EntryUpdatedEvent<T extends DSet.Entry> extends EntryEvent<T>
|
|||||||
* @param targetOid the object id of the object to whose set we will add an entry.
|
* @param targetOid the object id of the object to whose set we will add an entry.
|
||||||
* @param name the name of the attribute in which to update the specified entry.
|
* @param name the name of the attribute in which to update the specified entry.
|
||||||
* @param entry the entry to update.
|
* @param entry the entry to update.
|
||||||
* @param oldEntry the previous value of the entry.
|
|
||||||
*/
|
*/
|
||||||
public EntryUpdatedEvent (int targetOid, String name, T entry, T oldEntry)
|
public EntryUpdatedEvent (int targetOid, String name, T entry)
|
||||||
{
|
{
|
||||||
super(targetOid, name);
|
super(targetOid, name);
|
||||||
_entry = entry;
|
_entry = entry;
|
||||||
_oldEntry = oldEntry;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** For unserialization. */
|
|
||||||
public EntryUpdatedEvent ()
|
|
||||||
{
|
|
||||||
super(0, null);
|
|
||||||
// we can't allow our primary ctor to be called during unserialization, or it will wipe out
|
|
||||||
// the hackery we do with _oldEntry
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -128,6 +118,12 @@ public class EntryUpdatedEvent<T extends DSet.Entry> extends EntryEvent<T>
|
|||||||
StringUtil.toString(buf, _entry);
|
StringUtil.toString(buf, _entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected EntryUpdatedEvent setOldEntry (T oldEntry)
|
||||||
|
{
|
||||||
|
_oldEntry = oldEntry;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
protected T _entry;
|
protected T _entry;
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
|||||||
Reference in New Issue
Block a user