C# Class NHibernate.Event.Default.DefaultMergeEventListener

Inheritance: NHibernate.Event.Default.AbstractSaveEventListener, IMergeEventListener
Afficher le fichier Open project: nhibernate/nhibernate-core Class Usage Examples

Méthodes publiques

Méthode Description
OnMerge ( MergeEvent @event ) : void
OnMerge ( MergeEvent @event, IDictionary copiedAlready ) : void

Méthodes protégées

Méthode Description
CascadeAfterSave ( IEventSource source, IEntityPersister persister, object entity, object anything ) : void

Cascade behavior is redefined by this subclass, disable superclass behavior

CascadeBeforeSave ( IEventSource source, IEntityPersister persister, object entity, object anything ) : void

Cascade behavior is redefined by this subclass, disable superclass behavior

CascadeOnMerge ( IEventSource source, IEntityPersister persister, object entity, IDictionary copyCache ) : void

Perform any cascades needed as part of this copy event.

CopyValues ( IEntityPersister persister, object entity, object target, ISessionImplementor source, IDictionary copyCache ) : void
CopyValues ( IEntityPersister persister, object entity, object target, ISessionImplementor source, IDictionary copyCache, NHibernate.Type.ForeignKeyDirection foreignKeyDirection ) : void
EntityIsDetached ( MergeEvent @event, IDictionary copyCache ) : void
EntityIsPersistent ( MergeEvent @event, IDictionary copyCache ) : void
EntityIsTransient ( MergeEvent @event, IDictionary copyCache ) : void
GetMergeMap ( object anything ) : IDictionary
GetTransientCopyCache ( MergeEvent @event, NHibernate.Event.Default.EventCache copyCache ) : NHibernate.Event.Default.EventCache

Determine which merged entities in the copyCache are transient.

Should this method be on the EventCache class?

InvokeUpdateLifecycle ( object entity, IEntityPersister persister, IEventSource source ) : bool
RetryMergeTransientEntities ( MergeEvent @event, IDictionary transientCopyCache, NHibernate.Event.Default.EventCache copyCache ) : void

Retry merging transient entities

Private Methods

Méthode Description
ExistsInDatabase ( object entity, IEventSource source, IEntityPersister persister ) : bool
IsVersionChanged ( object entity, IEventSource source, IEntityPersister persister, object target ) : bool
MarkInterceptorDirty ( object entity, object target ) : void
MergeTransientEntity ( object entity, string entityName, object requestedId, IEventSource source, IDictionary copyCache ) : object
SaveTransientEntity ( object entity, string entityName, object requestedId, IEventSource source, IDictionary copyCache ) : void

Method Details

CascadeAfterSave() protected méthode

Cascade behavior is redefined by this subclass, disable superclass behavior
protected CascadeAfterSave ( IEventSource source, IEntityPersister persister, object entity, object anything ) : void
source IEventSource
persister IEntityPersister
entity object
anything object
Résultat void

CascadeBeforeSave() protected méthode

Cascade behavior is redefined by this subclass, disable superclass behavior
protected CascadeBeforeSave ( IEventSource source, IEntityPersister persister, object entity, object anything ) : void
source IEventSource
persister IEntityPersister
entity object
anything object
Résultat void

CascadeOnMerge() protected méthode

Perform any cascades needed as part of this copy event.
protected CascadeOnMerge ( IEventSource source, IEntityPersister persister, object entity, IDictionary copyCache ) : void
source IEventSource The merge event being processed.
persister IEntityPersister The persister of the entity being copied.
entity object The entity being copied.
copyCache IDictionary A cache of already copied instance.
Résultat void

CopyValues() protected méthode

protected CopyValues ( IEntityPersister persister, object entity, object target, ISessionImplementor source, IDictionary copyCache ) : void
persister IEntityPersister
entity object
target object
source ISessionImplementor
copyCache IDictionary
Résultat void

CopyValues() protected méthode

protected CopyValues ( IEntityPersister persister, object entity, object target, ISessionImplementor source, IDictionary copyCache, NHibernate.Type.ForeignKeyDirection foreignKeyDirection ) : void
persister IEntityPersister
entity object
target object
source ISessionImplementor
copyCache IDictionary
foreignKeyDirection NHibernate.Type.ForeignKeyDirection
Résultat void

EntityIsDetached() protected méthode

protected EntityIsDetached ( MergeEvent @event, IDictionary copyCache ) : void
@event MergeEvent
copyCache IDictionary
Résultat void

EntityIsPersistent() protected méthode

protected EntityIsPersistent ( MergeEvent @event, IDictionary copyCache ) : void
@event MergeEvent
copyCache IDictionary
Résultat void

EntityIsTransient() protected méthode

protected EntityIsTransient ( MergeEvent @event, IDictionary copyCache ) : void
@event MergeEvent
copyCache IDictionary
Résultat void

GetMergeMap() protected méthode

protected GetMergeMap ( object anything ) : IDictionary
anything object
Résultat IDictionary

GetTransientCopyCache() protected méthode

Determine which merged entities in the copyCache are transient.
Should this method be on the EventCache class?
protected GetTransientCopyCache ( MergeEvent @event, NHibernate.Event.Default.EventCache copyCache ) : NHibernate.Event.Default.EventCache
@event MergeEvent
copyCache NHibernate.Event.Default.EventCache
Résultat NHibernate.Event.Default.EventCache

InvokeUpdateLifecycle() protected méthode

protected InvokeUpdateLifecycle ( object entity, IEntityPersister persister, IEventSource source ) : bool
entity object
persister IEntityPersister
source IEventSource
Résultat bool

OnMerge() public méthode

public OnMerge ( MergeEvent @event ) : void
@event MergeEvent
Résultat void

OnMerge() public méthode

public OnMerge ( MergeEvent @event, IDictionary copiedAlready ) : void
@event MergeEvent
copiedAlready IDictionary
Résultat void

RetryMergeTransientEntities() protected méthode

Retry merging transient entities
protected RetryMergeTransientEntities ( MergeEvent @event, IDictionary transientCopyCache, NHibernate.Event.Default.EventCache copyCache ) : void
@event MergeEvent
transientCopyCache IDictionary
copyCache NHibernate.Event.Default.EventCache
Résultat void