|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.objectwave.transactionalSupport.ObjectEditor
Tracks changes to a TransactionalObjectIF. If you wish to see verbose output of the ObjectEditor, start your application ow.objectEditVerbose=true
ObjectEditingView
,
Serialized FormNested Class Summary | |
static class |
ObjectEditor.Test
|
Field Summary | |
java.lang.Object[] |
dataExchange
|
protected java.lang.reflect.Field[] |
fds
|
protected static AccessSecurityIF |
security
|
Constructor Summary | |
ObjectEditor()
Constructor for the ObjectEditor object |
|
ObjectEditor(TransactionalObjectIF domainObject)
Manage the changes for the transactional domainObject. |
Method Summary | |
java.util.Enumeration |
changes(TransactionLog log)
An enumeration of ObjectChangeRequest objects for this particular transaction log; |
void |
clearChanges(TransactionLog log)
Drop any changes associated with a specified transaction log. |
protected void |
clearChanges(TransactionLog log,
boolean releaseObjects)
Drop any changes associated with a specified transaction log. |
void |
commit(TransactionLog log,
boolean force)
In the event that we call setValue(aVal) to change an object. |
boolean |
containsAnyChanges()
Are there ANY changes for ANY transaction log for this object. |
boolean |
containsAttributeChanges(TransactionLog log)
If we have any changes which are not the result of a collection change, return true. |
boolean |
get(java.lang.reflect.Field adapt,
boolean val)
|
byte |
get(java.lang.reflect.Field adapt,
byte val)
|
char |
get(java.lang.reflect.Field adapt,
char val)
|
double |
get(java.lang.reflect.Field adapt,
double val)
|
float |
get(java.lang.reflect.Field adapt,
float val)
|
int |
get(java.lang.reflect.Field adapt,
int oldValue)
No longer uses the convience method. |
long |
get(java.lang.reflect.Field adapt,
long val)
|
java.lang.Object |
get(java.lang.reflect.Field adapt,
java.lang.Object oldValue)
|
short |
get(java.lang.reflect.Field adapt,
short val)
|
java.lang.String |
get(java.lang.reflect.Field adapt,
java.lang.String val)
|
java.util.Vector |
getCollectionChanges(TransactionLog log)
|
protected java.lang.Object |
getDomainField(java.lang.reflect.Field adapt)
Get the value from the domain object at field 'adapt'. |
TransactionalObjectIF |
getDomainObject()
The object for which this EditingView represents. |
protected ObjectModified[] |
getFieldMap(TransactionLog log)
For the provided TransactionLog, get the list of known changes. |
protected static ObjectModified |
getMods(java.lang.reflect.Field field,
ObjectModified[] list)
Search the provided list of changes for change to the particular field. |
AccessSecurityIF |
getSecurity()
|
protected java.lang.Object |
getValue(java.lang.reflect.Field adapt,
java.lang.Object oldValue,
TransactionLog log)
The main workhorse method for all of the get methods. |
boolean |
isDirty()
If we have any changes in the current transaction log, return true; |
boolean |
isTransient()
A transient object. |
boolean |
lock(boolean wait)
Pessimistically lock the object. |
java.lang.Thread |
lockedBy()
|
void |
markChange(ObjectChangeRequest mod,
TransactionLog log)
Record that the TransactionalObject has been changed. |
void |
migrateChanges(TransactionLog log,
TransactionLog newLog)
Used by nested transactions. |
protected boolean |
noKnownLogs()
protected final ObjectModified [] getFieldMap(final TransactionLog log) { if(log == singleLog) return fieldToChangeMap; if(objectMods == null) return null; return (ObjectModified [])objectMods.get(log); } protected synchronized final void putFieldMap(final TransactionLog log, final ObjectModified [] list) { if(singleLog == null) { singleLog = log; fieldToChangeMap = list; } else if(log == singleLog) { fieldToChangeMap = list; } else { if(objectMods == null) { objectMods = new HashMap(15); } objectMods.put(log, list); } } Abstract the implementation of keeping track of changes. |
protected void |
putFieldMap(TransactionLog log,
ObjectModified[] list)
For the prodided transaction log, this provided list of changes exists. |
protected void |
putMod(ObjectModified[] list,
ObjectModified mod,
TransactionLog log)
|
protected ObjectModified[] |
quickChanges(TransactionLog log)
Used by the persistent code to avoid the enumeration overhead |
void |
rollback(TransactionLog log,
boolean forget)
Undo any changes made to this object in the provided transaction. |
void |
set(java.lang.reflect.Field adapt,
boolean val,
boolean originalVal)
Delegate to the set(Field, Object, Object) method. |
void |
set(java.lang.reflect.Field adapt,
byte val,
byte originalVal)
Delegate to the set(Field, Object, Object) method. |
void |
set(java.lang.reflect.Field adapt,
char val,
char originalVal)
Delegate to the set(Field, Object, Object) method. |
void |
set(java.lang.reflect.Field adapt,
java.util.Date val,
java.util.Date originalVal)
Delegate to the set(Field, Object, Object) method. |
void |
set(java.lang.reflect.Field adapt,
double val,
double originalVal)
Delegate to the set(Field, Object, Object) method. |
void |
set(java.lang.reflect.Field adapt,
float val,
float originalVal)
Delegate to the set(Field, Object, Object) method. |
void |
set(java.lang.reflect.Field adapt,
int val,
int originalVal)
Delegate to the set(Field, Object, Object) method. |
void |
set(java.lang.reflect.Field adapt,
long val,
long originalVal)
Delegate to the set(Field, Object, Object) method. |
void |
set(java.lang.reflect.Field adapt,
java.lang.Object val,
java.lang.Object originalVal)
Delegate to the setValue(Field, Object, Object) method. |
void |
set(java.lang.reflect.Field adapt,
short val,
short originalVal)
Delegate to the set(Field, Object, Object) method. |
void |
set(java.lang.reflect.Field adapt,
java.lang.String val,
java.lang.String originalVal)
Delegate to the set(Field, Object, Object) method. |
void |
setAsTransient(boolean value)
A transient object. |
protected void |
setDomainField(java.lang.reflect.Field adapt,
java.lang.Object val)
Set the value 'val' on the domain object at field 'adapt'. |
void |
setSecurity(AccessSecurityIF s)
Security allows one to prevent access to a fields value. |
protected void |
setValue(java.lang.reflect.Field adapt,
java.lang.Object val,
java.lang.Object originalVal)
The main workhorse method for all of the set methods. |
void |
unlock()
Unlock the pessimistically |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected static AccessSecurityIF security
public final transient java.lang.Object[] dataExchange
protected final transient java.lang.reflect.Field[] fds
Constructor Detail |
public ObjectEditor()
public ObjectEditor(TransactionalObjectIF domainObject)
domainObject
- Method Detail |
protected static final ObjectModified getMods(java.lang.reflect.Field field, ObjectModified[] list)
list
- ObjectModified [] A list of changes.field
- The field for which we are looking for changes.
public void set(java.lang.reflect.Field adapt, byte val, byte originalVal)
set
in interface SetAndGetDelegateIF
adapt
- val
- originalVal
- public void set(java.lang.reflect.Field adapt, char val, char originalVal)
set
in interface SetAndGetDelegateIF
adapt
- val
- originalVal
- public void set(java.lang.reflect.Field adapt, double val, double originalVal)
set
in interface SetAndGetDelegateIF
adapt
- val
- originalVal
- public void set(java.lang.reflect.Field adapt, float val, float originalVal)
set
in interface SetAndGetDelegateIF
adapt
- val
- originalVal
- public void set(java.lang.reflect.Field adapt, int val, int originalVal)
set
in interface SetAndGetDelegateIF
adapt
- val
- originalVal
- public void set(java.lang.reflect.Field adapt, long val, long originalVal)
set
in interface SetAndGetDelegateIF
adapt
- val
- originalVal
- public void set(java.lang.reflect.Field adapt, java.lang.Object val, java.lang.Object originalVal)
set
in interface SetAndGetDelegateIF
adapt
- val
- originalVal
- #setValue(java.lang.Field, java.lang.Object, java.lang.Object)
public void set(java.lang.reflect.Field adapt, java.lang.String val, java.lang.String originalVal)
set
in interface SetAndGetDelegateIF
adapt
- val
- originalVal
- public void set(java.lang.reflect.Field adapt, java.util.Date val, java.util.Date originalVal)
set
in interface SetAndGetDelegateIF
adapt
- val
- originalVal
- public void set(java.lang.reflect.Field adapt, short val, short originalVal)
set
in interface SetAndGetDelegateIF
adapt
- val
- originalVal
- public void set(java.lang.reflect.Field adapt, boolean val, boolean originalVal)
set
in interface SetAndGetDelegateIF
adapt
- val
- originalVal
- public void setAsTransient(boolean value)
setAsTransient
in interface ObjectEditingView
value
- The new AsTransient valuepublic void setSecurity(AccessSecurityIF s)
s
- The new Security valueprotected void setDomainField(java.lang.reflect.Field adapt, java.lang.Object val)
adapt
- The new DomainField valueval
- The new DomainField valueprotected void setValue(java.lang.reflect.Field adapt, java.lang.Object val, java.lang.Object originalVal)
adapt
- The new Value valueval
- The new Value valueoriginalVal
- The new Value valuepublic byte get(java.lang.reflect.Field adapt, byte val)
get
in interface SetAndGetDelegateIF
adapt
- val
-
public char get(java.lang.reflect.Field adapt, char val)
get
in interface SetAndGetDelegateIF
adapt
- val
-
public double get(java.lang.reflect.Field adapt, double val)
get
in interface SetAndGetDelegateIF
adapt
- val
-
public float get(java.lang.reflect.Field adapt, float val)
get
in interface SetAndGetDelegateIF
adapt
- val
-
public int get(java.lang.reflect.Field adapt, int oldValue)
get
in interface SetAndGetDelegateIF
adapt
- oldValue
-
public long get(java.lang.reflect.Field adapt, long val)
get
in interface SetAndGetDelegateIF
adapt
- val
-
public java.lang.Object get(java.lang.reflect.Field adapt, java.lang.Object oldValue)
get
in interface SetAndGetDelegateIF
adapt
- oldValue
-
public short get(java.lang.reflect.Field adapt, short val)
get
in interface SetAndGetDelegateIF
adapt
- val
-
public java.lang.String get(java.lang.reflect.Field adapt, java.lang.String val)
adapt
- val
-
public boolean get(java.lang.reflect.Field adapt, boolean val)
get
in interface SetAndGetDelegateIF
adapt
- val
-
public java.util.Vector getCollectionChanges(TransactionLog log)
log
- TransactionLog The current transaction context
public TransactionalObjectIF getDomainObject()
ObjectEditingView
getDomainObject
in interface ObjectEditingView
public AccessSecurityIF getSecurity()
setSecurity(com.objectwave.transactionalSupport.AccessSecurityIF)
public boolean isDirty()
isDirty
in interface ObjectEditingView
public boolean isTransient()
isTransient
in interface ObjectEditingView
protected final ObjectModified[] getFieldMap(TransactionLog log)
log
- TransactionLog The transaction in question.
protected java.lang.Object getDomainField(java.lang.reflect.Field adapt)
adapt
-
protected java.lang.Object getValue(java.lang.reflect.Field adapt, java.lang.Object oldValue, TransactionLog log)
log
- TransactionLog The current transaction contextadapt
- oldValue
-
public java.util.Enumeration changes(TransactionLog log)
changes
in interface ObjectEditingView
log
- TransactionLog The transaction in question.
public void clearChanges(TransactionLog log)
clearChanges
in interface ObjectEditingView
log
- TransactionLog The transaction in question.public void commit(TransactionLog log, boolean force) throws UpdateException
commit
in interface ObjectEditingView
log
- TransactionLog The current transaction contextforce
-
UpdateException
public final boolean containsAnyChanges()
containsAnyChanges
in interface ObjectEditingView
public boolean containsAttributeChanges(TransactionLog log)
log
- TransactionLog The current transaction context
isDirty()
public boolean lock(boolean wait)
lock
in interface ObjectEditingView
wait
- boolean true if the current thread should wait until lock is
available. Otherwise return immediately.
public java.lang.Thread lockedBy()
public void markChange(ObjectChangeRequest mod, TransactionLog log)
log
- TransactionLog The current transaction contextmod
- public void migrateChanges(TransactionLog log, TransactionLog newLog)
migrateChanges
in interface ObjectEditingView
log
- TransactionLog The current transaction contextnewLog
- public void rollback(TransactionLog log, boolean forget)
rollback
in interface ObjectEditingView
log
- TransactionLog The current transaction contextforget
- public void unlock()
unlock
in interface ObjectEditingView
protected final void putFieldMap(TransactionLog log, ObjectModified[] list)
log
- TransactionLog The transaction in progress.list
- ObjectModified [] This list will hold the changes.protected final boolean noKnownLogs()
protected final ObjectModified[] quickChanges(TransactionLog log)
log
- TransactionLog The transaction in question.
protected void clearChanges(TransactionLog log, boolean releaseObjects)
releaseObjects
- boolean A true values indicates that ObjectModified
objects should be returned to the queue.log
- TransactionLog The transaction in question.protected final void putMod(ObjectModified[] list, ObjectModified mod, TransactionLog log)
log
- TransactionLog The current transaction contextlist
- mod
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |