org.castor.persist.resolver

Class ManyToManyRelationResolver

Implemented Interfaces:
ResolverStrategy

public final class ManyToManyRelationResolver
extends ManyRelationResolver

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

Field Summary

Fields inherited from class org.castor.persist.resolver.ManyRelationResolver

_classMolder, _fieldMolder

Constructor Summary

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

Method Summary

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)
void
update(TransactionContext tx, OID oid, Object object, AccessMode suggestedAccessMode, Object field)
boolean
updateWhenNoTimestampSet(TransactionContext tx, OID oid, Object object, AccessMode suggestedAccessMode)

Methods inherited from class org.castor.persist.resolver.ManyRelationResolver

create, expireCache, load, markCreate, markDelete, postCreate, preStore, removeRelation, revertObject, store, update, updateCache

Constructor Details

ManyToManyRelationResolver

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

Method Details

markCreate

public boolean markCreate(TransactionContext tx,
                          OID oid,
                          Object object)
            throws PersistenceException
Specified by:
markCreate in interface ResolverStrategy
Overrides:
markCreate in interface ManyRelationResolver

markDelete

public void markDelete(TransactionContext tx,
                       Object object,
                       Object field)
            throws PersistenceException
Specified by:
markDelete in interface ResolverStrategy
Overrides:
markDelete in interface ManyRelationResolver

postCreate

public Object postCreate(TransactionContext tx,
                         OID oid,
                         Object object,
                         Object field,
                         Identity createdId)
            throws PersistenceException
Specified by:
postCreate in interface ResolverStrategy
Overrides:
postCreate in interface ManyRelationResolver
See Also:
org.castor.persist.resolver.ManyRelationResolver.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
Overrides:
preStore in interface ManyRelationResolver

update

public void update(TransactionContext tx,
                   OID oid,
                   Object object,
                   AccessMode suggestedAccessMode,
                   Object field)
            throws PersistenceException
Specified by:
update in interface ResolverStrategy
Overrides:
update in interface ManyRelationResolver

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