public virtual ObjectID ReadObjectID(IInternalReadContext context) { int payloadOffset = context.ReadInt(); if (payloadOffset == 0) { return(ObjectID.IsNull); } int savedOffset = context.Offset(); ITypeHandler4 typeHandler = ReadTypeHandler(context, payloadOffset); if (typeHandler == null) { context.Seek(savedOffset); return(ObjectID.IsNull); } SeekSecondaryOffset(context, typeHandler); if (typeHandler is IReadsObjectIds) { ObjectID readObjectID = ((IReadsObjectIds)typeHandler).ReadObjectID(context); context.Seek(savedOffset); return(readObjectID); } context.Seek(savedOffset); return(ObjectID.NotPossible); }
// throw new IllegalStateException(); public virtual void CollectIDs(QueryingReadContext readContext) { IInternalReadContext context = (IInternalReadContext)readContext; int payloadOffset = context.ReadInt(); if (payloadOffset == 0) { return; } int savedOffSet = context.Offset(); try { ITypeHandler4 typeHandler = ReadTypeHandler(context, payloadOffset); if (typeHandler == null) { return; } SeekSecondaryOffset(context, typeHandler); if (IsPlainObject(typeHandler)) { readContext.Collector().AddId(readContext.ReadInt()); return; } CollectIdContext collectIdContext = new _CollectIdContext_203(readContext, readContext .Transaction(), readContext.Collector(), null, readContext.Buffer()); Handlers4.CollectIdsInternal(collectIdContext, context.Container().Handlers.CorrectHandlerVersion (typeHandler, context.HandlerVersion()), 0, false); } finally { context.Seek(savedOffSet); } }
// do nothing, no longer needed in current implementation. public virtual object Read(IReadContext readContext) { IInternalReadContext context = (IInternalReadContext)readContext; int payloadOffset = context.ReadInt(); if (payloadOffset == 0) { context.NotifyNullReferenceSkipped(); return(null); } int savedOffSet = context.Offset(); try { ITypeHandler4 typeHandler = ReadTypeHandler(context, payloadOffset); if (typeHandler == null) { return(null); } SeekSecondaryOffset(context, typeHandler); if (IsPlainObject(typeHandler)) { return(context.ReadAtCurrentSeekPosition(new PlainObjectHandler())); } return(context.ReadAtCurrentSeekPosition(typeHandler)); } finally { context.Seek(savedOffSet); } }
protected virtual ITypeHandler4 ReadTypeHandler(IInternalReadContext context, int payloadOffset) { context.Seek(payloadOffset); ITypeHandler4 typeHandler = Container().TypeHandlerForClassMetadataID(context.ReadInt ()); return(HandlerRegistry.CorrectHandlerVersion(context, typeHandler)); }
public virtual ITypeHandler4 ReadTypeHandlerRestoreOffset(IInternalReadContext context ) { int savedOffset = context.Offset(); int payloadOffset = context.ReadInt(); ITypeHandler4 typeHandler = payloadOffset == 0 ? null : ReadTypeHandler(context, payloadOffset); context.Seek(savedOffset); return(typeHandler); }
public virtual ITypeHandler4 ReadTypeHandlerRestoreOffset(IInternalReadContext context ) { int savedOffset = context.Offset(); int payloadOffset = context.ReadInt(); ITypeHandler4 typeHandler = payloadOffset == 0 ? null : ReadTypeHandler(context, payloadOffset); context.Seek(savedOffset); return typeHandler; }
protected virtual ITypeHandler4 ReadTypeHandler(IInternalReadContext context, int payloadOffset) { context.Seek(payloadOffset); ITypeHandler4 typeHandler = Container().TypeHandlerForClassMetadataID(context.ReadInt ()); return HandlerRegistry.CorrectHandlerVersion(context, typeHandler); }
public virtual ObjectID ReadObjectID(IInternalReadContext context) { int payloadOffset = context.ReadInt(); if (payloadOffset == 0) { return ObjectID.IsNull; } int savedOffset = context.Offset(); ITypeHandler4 typeHandler = ReadTypeHandler(context, payloadOffset); if (typeHandler == null) { context.Seek(savedOffset); return ObjectID.IsNull; } SeekSecondaryOffset(context, typeHandler); if (typeHandler is IReadsObjectIds) { ObjectID readObjectID = ((IReadsObjectIds)typeHandler).ReadObjectID(context); context.Seek(savedOffset); return readObjectID; } context.Seek(savedOffset); return ObjectID.NotPossible; }