예제 #1
0
		public override void Activate(UnmarshallingContext context)
		{
			object obj = Read(context);
			// Activation of members is necessary on purpose here.
			// Classes like Hashtable need fully activated members
			// to be able to calculate hashCode()
			if (obj != null)
			{
				context.Container().Activate(context.Transaction(), obj, context.ActivationDepth(
					));
			}
			SetOn(context.Transaction(), context.PersistentObject(), obj);
		}
예제 #2
0
 public virtual object InstantiateTransient(UnmarshallingContext context)
 {
     // overridden in YapClassPrimitive
     // never called for primitive YapAny
     var obj = InstantiateObject(context);
     if (obj == null)
     {
         return null;
     }
     context.Container().Peeked(context.ObjectId(), obj);
     if (context.ActivationDepth().RequiresActivation())
     {
         InstantiateFields(context);
     }
     return obj;
 }