org.castor.persist.resolver

Class SerializableResolver

Implemented Interfaces:
ResolverStrategy

public final class SerializableResolver
extends java.lang.Object
implements ResolverStrategy

Implementation of ResolverStrategy for serializable fields.
Author:
Werner Guttmann
Since:
0.9.9

Constructor Summary

SerializableResolver(ClassMolder classMolder, FieldMolder fieldMolder, int fieldIndex, boolean debug)
Creates an instance of SerializableResolver.

Method Summary

Object
create(TransactionContext tx, Object object)
void
expireCache(TransactionContext tx, Object field)
void
load(TransactionContext tx, OID oid, ProposedEntity proposedObject, AccessMode suggestedAccessMode)
boolean
markCreate(TransactionContext tx, OID oid, Object object)
void
markDelete(TransactionContext tx, Object object, Object field)
Object
postCreate(TransactionContext tx, OID oid, Object object, Object field, Identity createdId)
UpdateFlags
preStore(TransactionContext tx, OID oid, Object object, int timeout, Object field)
UpdateAndRemovedFlags
removeRelation(TransactionContext tx, Object object, ClassMolder relatedMolder, Object relatedObject)
void
revertObject(TransactionContext tx, OID oid, Object object, Object field)
Object
store(TransactionContext tx, Object object, Object field)
void
update(TransactionContext tx, OID oid, Object object, AccessMode suggestedAccessMode, Object field)
Object
updateCache(TransactionContext tx, OID oid, Object object)
boolean
updateWhenNoTimestampSet(TransactionContext tx, OID oid, Object object, AccessMode suggestedAccessMode)

Constructor Details

SerializableResolver

public SerializableResolver(ClassMolder classMolder,
                            FieldMolder fieldMolder,
                            int fieldIndex,
                            boolean debug)
Creates an instance of SerializableResolver.
Parameters:
classMolder - Associated ClassMolder
fieldMolder - Associated FieldMolder
fieldIndex - Field index within all fields of parent class molder.
debug - ???

Method Details

create

public Object create(TransactionContext tx,
                     Object object)
            throws PersistenceException
Specified by:
create in interface ResolverStrategy
See Also:
org.castor.persist.resolver.ResolverStrategy.create( org.castor.persist.TransactionContext, java.lang.Object)

expireCache

public void expireCache(TransactionContext tx,
                        Object field)
Specified by:
expireCache in interface ResolverStrategy
See Also:
org.castor.persist.resolver.ResolverStrategy.expireCache( org.castor.persist.TransactionContext, java.lang.Object)

load

public void load(TransactionContext tx,
                 OID oid,
                 ProposedEntity proposedObject,
                 AccessMode suggestedAccessMode)
            throws PersistenceException
Specified by:
load in interface ResolverStrategy

markCreate

public boolean markCreate(TransactionContext tx,
                          OID oid,
                          Object object)
Specified by:
markCreate in interface ResolverStrategy
See Also:
org.castor.persist.resolver.ResolverStrategy.markCreate( org.castor.persist.TransactionContext, org.exolab.castor.persist.OID, java.lang.Object)

markDelete

public void markDelete(TransactionContext tx,
                       Object object,
                       Object field)
Specified by:
markDelete in interface ResolverStrategy
See Also:
org.castor.persist.resolver.ResolverStrategy.markDelete( org.castor.persist.TransactionContext, java.lang.Object, java.lang.Object)

postCreate

public Object postCreate(TransactionContext tx,
                         OID oid,
                         Object object,
                         Object field,
                         Identity createdId)
Specified by:
postCreate in interface ResolverStrategy
See Also:
org.castor.persist.resolver.ResolverStrategy.postCreate( org.castor.persist.TransactionContext, org.exolab.castor.persist.OID, java.lang.Object, java.lang.Object, org.exolab.castor.persist.spi.Identity)

preStore

public UpdateFlags preStore(TransactionContext tx,
                            OID oid,
                            Object object,
                            int timeout,
                            Object field)
            throws PersistenceException
Specified by:
preStore in interface ResolverStrategy
See Also:
org.castor.persist.resolver.ResolverStrategy.preStore( org.castor.persist.TransactionContext, org.exolab.castor.persist.OID, java.lang.Object, int, java.lang.Object)

removeRelation

public UpdateAndRemovedFlags removeRelation(TransactionContext tx,
                                            Object object,
                                            ClassMolder relatedMolder,
                                            Object relatedObject)
Specified by:
removeRelation in interface ResolverStrategy
See Also:
org.castor.persist.resolver.ResolverStrategy.removeRelation( org.castor.persist.TransactionContext, java.lang.Object, org.exolab.castor.persist.ClassMolder, java.lang.Object)

revertObject

public void revertObject(TransactionContext tx,
                         OID oid,
                         Object object,
                         Object field)
            throws PersistenceException
Specified by:
revertObject in interface ResolverStrategy
See Also:
org.castor.persist.resolver.ResolverStrategy.revertObject( org.castor.persist.TransactionContext, org.exolab.castor.persist.OID, java.lang.Object, java.lang.Object)

store

public Object store(TransactionContext tx,
                    Object object,
                    Object field)
            throws PersistenceException
Specified by:
store in interface ResolverStrategy
See Also:
org.castor.persist.resolver.ResolverStrategy.store( org.castor.persist.TransactionContext, java.lang.Object, java.lang.Object)

update

public void update(TransactionContext tx,
                   OID oid,
                   Object object,
                   AccessMode suggestedAccessMode,
                   Object field)
Specified by:
update in interface ResolverStrategy
See Also:
org.castor.persist.resolver.ResolverStrategy.update( org.castor.persist.TransactionContext, org.exolab.castor.persist.OID, java.lang.Object, org.exolab.castor.mapping.AccessMode, java.lang.Object)

updateCache

public Object updateCache(TransactionContext tx,
                          OID oid,
                          Object object)
Specified by:
updateCache in interface ResolverStrategy
See Also:
org.castor.persist.resolver.ResolverStrategy.updateCache( org.castor.persist.TransactionContext, org.exolab.castor.persist.OID, java.lang.Object)

updateWhenNoTimestampSet

public boolean updateWhenNoTimestampSet(TransactionContext tx,
                                        OID oid,
                                        Object object,
                                        AccessMode suggestedAccessMode)
            throws PersistenceException
Specified by:
updateWhenNoTimestampSet in interface ResolverStrategy

Intalio Inc. (C) 1999-2006. All rights reserved http://www.intalio.com