public override void Activate(UnmarshallingContext context) { context.ObjectReference().ProduceVirtualAttributes(); Instantiate1(context); }
protected void OnInstantiate(UnmarshallingContext context, object obj) { context.SetObjectWeak(obj); context.Transaction().ReferenceSystem().AddExistingReference(context.ObjectReference ()); ObjectOnInstantiate(context.Transaction(), context.ObjectReference()); }
private object Activate(UnmarshallingContext context) { var obj = context.PersistentObject(); var objectReference = context.ObjectReference(); if (!ObjectCanActivate(context.Transaction(), obj)) { objectReference.SetStateDeactivated(); return obj; } objectReference.SetStateClean(); if (context.ActivationDepth().RequiresActivation()) { InstantiateFields(context); } ObjectOnActivate(context.Transaction(), objectReference); return obj; }
public virtual object Instantiate(UnmarshallingContext context) { // overridden in PrimitiveTypeMetadata // never called for primitive YapAny // FIXME: [TA] no longer necessary? // context.adjustInstantiationDepth(); var obj = context.PersistentObject(); var instantiating = (obj == null); if (instantiating) { obj = InstantiateObject(context); if (obj == null) { return null; } ShareTransaction(obj, context.Transaction()); ShareObjectReference(obj, context.ObjectReference()); OnInstantiate(context, obj); if (context.ActivationDepth().Mode().IsPrefetch()) { context.ObjectReference().SetStateDeactivated(); return obj; } if (!context.ActivationDepth().RequiresActivation()) { context.ObjectReference().SetStateDeactivated(); return obj; } return Activate(context); } if (ActivatingActiveObject(context.ActivationDepth().Mode(), context.ObjectReference ())) { var child = context.ActivationDepth().Descend(this); if (child.RequiresActivation()) { CascadeActivation(new ActivationContext4(context.Transaction(), obj, child)); } return obj; } return Activate(context); }