org.castor.persist.resolver

Class PersistanceCapableRelationResolver

Implemented Interfaces:
ResolverStrategy

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

Implementation of ResolverStrategy for 1:1 relations.
Author:
Werner Guttmann
Since:
0.9.9

Constructor Summary

PersistanceCapableRelationResolver(ClassMolder classMolder, FieldMolder fieldMolder, int fieldIndex, boolean debug)
Creates an instance of this resolver class.

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

PersistanceCapableRelationResolver

public PersistanceCapableRelationResolver(ClassMolder classMolder,
                                          FieldMolder fieldMolder,
                                          int fieldIndex,
                                          boolean debug)
Creates an instance of this resolver class.
Parameters:
classMolder - Enclosing class molder.
fieldMolder - Field Molder
fieldIndex - Field index within all fields of parent class molder.
debug - True if debug mode is on.

Method Details

create

public Object create(TransactionContext tx,
                     Object object)
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)
            throws PersistenceException
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)
            throws PersistenceException
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)
            throws PersistenceException
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)
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)
            throws PersistenceException
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-2008. All rights reserved http://www.intalio.com