/// <summary> /// Initializes a new instance of the <see cref="EntryValueMaterializationPolicy" /> class. /// </summary> /// <param name="context">The context.</param> /// <param name="entityTrackingAdapter">The entity tracking adapter.</param> /// <param name="lazyPrimitivePropertyConverter">The lazy primitive property converter.</param> /// <param name="nextLinkTable">The next link table.</param> internal EntryValueMaterializationPolicy( IODataMaterializerContext context, EntityTrackingAdapter entityTrackingAdapter, DSClient.SimpleLazy <PrimitivePropertyConverter> lazyPrimitivePropertyConverter, Dictionary <IEnumerable, DataServiceQueryContinuation> nextLinkTable) : base(context, lazyPrimitivePropertyConverter) { this.nextLinkTable = nextLinkTable; this.EntityTrackingAdapter = entityTrackingAdapter; }
internal CollectionValueMaterializationPolicy CreateCollectionValueMaterializationPolicy(IODataMaterializerContext materializerContext) { var lazyPrimitivePropertyConverter = new DSClient.SimpleLazy <PrimitivePropertyConverter>(() => new PrimitivePropertyConverter()); var primitiveValueMaterializerPolicy = new PrimitiveValueMaterializationPolicy(materializerContext, lazyPrimitivePropertyConverter); var collectionPolicy = new CollectionValueMaterializationPolicy(materializerContext, primitiveValueMaterializerPolicy); var instanceAnnotationPolicy = new InstanceAnnotationMaterializationPolicy(materializerContext); collectionPolicy.InstanceAnnotationMaterializationPolicy = instanceAnnotationPolicy; return(collectionPolicy); }
internal ComplexValueMaterializationPolicy CreatePrimitiveValueMaterializationPolicy(TestMaterializerContext context) { var lazyPrimitivePropertyConverter = new DSClient.SimpleLazy <PrimitivePropertyConverter>(() => new PrimitivePropertyConverter(ODataFormat.Json)); var primitiveValueMaterializerPolicy = new PrimitiveValueMaterializationPolicy(context, lazyPrimitivePropertyConverter); var complexPolicy = new ComplexValueMaterializationPolicy(context, lazyPrimitivePropertyConverter); var collectionPolicy = new CollectionValueMaterializationPolicy(context, primitiveValueMaterializerPolicy); var intanceAnnotationPolicy = new InstanceAnnotationMaterializationPolicy(context); collectionPolicy.ComplexValueMaterializationPolicy = complexPolicy; complexPolicy.CollectionValueMaterializationPolicy = collectionPolicy; complexPolicy.InstanceAnnotationMaterializationPolicy = intanceAnnotationPolicy; return(complexPolicy); }
/// <summary> /// Initializes a new instance of the <see cref="ODataMaterializer" /> class. /// </summary> /// <param name="materializerContext">The materializer context.</param> /// <param name="expectedType">The expected type.</param> protected ODataMaterializer(IODataMaterializerContext materializerContext, Type expectedType) { this.ExpectedType = expectedType; this.MaterializerContext = materializerContext; this.nextLinkTable = new Dictionary <IEnumerable, DataServiceQueryContinuation>(DSClient.ReferenceEqualityComparer <IEnumerable> .Instance); this.enumValueMaterializationPolicy = new EnumValueMaterializationPolicy(this.MaterializerContext); this.lazyPrimitivePropertyConverter = new DSClient.SimpleLazy <PrimitivePropertyConverter>(() => new PrimitivePropertyConverter(this.Format)); this.primitiveValueMaterializationPolicy = new PrimitiveValueMaterializationPolicy(this.MaterializerContext, this.lazyPrimitivePropertyConverter); this.collectionValueMaterializationPolicy = new CollectionValueMaterializationPolicy(this.MaterializerContext, this.primitiveValueMaterializationPolicy); this.complexValueMaterializerPolicy = new ComplexValueMaterializationPolicy(this.MaterializerContext, this.lazyPrimitivePropertyConverter); this.collectionValueMaterializationPolicy.ComplexValueMaterializationPolicy = this.complexValueMaterializerPolicy; this.complexValueMaterializerPolicy.CollectionValueMaterializationPolicy = this.collectionValueMaterializationPolicy; }
/// <summary> /// Initializes a new instance of the <see cref="ODataMaterializer" /> class. /// </summary> /// <param name="materializerContext">The materializer context.</param> /// <param name="expectedType">The expected type.</param> protected ODataMaterializer(IODataMaterializerContext materializerContext, Type expectedType) { this.ExpectedType = expectedType; this.MaterializerContext = materializerContext; this.nextLinkTable = new Dictionary<IEnumerable, DataServiceQueryContinuation>(DSClient.ReferenceEqualityComparer<IEnumerable>.Instance); this.enumValueMaterializationPolicy = new EnumValueMaterializationPolicy(this.MaterializerContext); this.lazyPrimitivePropertyConverter = new DSClient.SimpleLazy<PrimitivePropertyConverter>(() => new PrimitivePropertyConverter(this.Format)); this.primitiveValueMaterializationPolicy = new PrimitiveValueMaterializationPolicy(this.MaterializerContext, this.lazyPrimitivePropertyConverter); this.collectionValueMaterializationPolicy = new CollectionValueMaterializationPolicy(this.MaterializerContext, this.primitiveValueMaterializationPolicy); this.complexValueMaterializerPolicy = new ComplexValueMaterializationPolicy(this.MaterializerContext, this.lazyPrimitivePropertyConverter); this.instanceAnnotationMaterializationPolicy = new InstanceAnnotationMaterializationPolicy(this.MaterializerContext); this.collectionValueMaterializationPolicy.ComplexValueMaterializationPolicy = this.complexValueMaterializerPolicy; this.collectionValueMaterializationPolicy.InstanceAnnotationMaterializationPolicy = this.instanceAnnotationMaterializationPolicy; this.complexValueMaterializerPolicy.CollectionValueMaterializationPolicy = this.collectionValueMaterializationPolicy; this.complexValueMaterializerPolicy.InstanceAnnotationMaterializationPolicy = this.instanceAnnotationMaterializationPolicy; this.instanceAnnotationMaterializationPolicy.ComplexValueMaterializationPolicy = this.complexValueMaterializerPolicy; this.instanceAnnotationMaterializationPolicy.CollectionValueMaterializationPolicy = this.collectionValueMaterializationPolicy; this.instanceAnnotationMaterializationPolicy.EnumValueMaterializationPolicy = this.enumValueMaterializationPolicy; }
internal EntryValueMaterializationPolicy CreateEntryMaterializationPolicy(TestMaterializerContext materializerContext) { var clientEdmModel = new ClientEdmModel(ODataProtocolVersion.V4); var context = new DataServiceContext(); materializerContext = materializerContext ?? new TestMaterializerContext() { Model = clientEdmModel, Context = context }; var adapter = new EntityTrackingAdapter(new TestEntityTracker(), MergeOption.OverwriteChanges, clientEdmModel, context); var lazyPrimitivePropertyConverter = new DSClient.SimpleLazy <PrimitivePropertyConverter>(() => new PrimitivePropertyConverter()); var primitiveValueMaterializerPolicy = new PrimitiveValueMaterializationPolicy(materializerContext, lazyPrimitivePropertyConverter); var entryPolicy = new EntryValueMaterializationPolicy(materializerContext, adapter, lazyPrimitivePropertyConverter, null); var collectionPolicy = new CollectionValueMaterializationPolicy(materializerContext, primitiveValueMaterializerPolicy); var intanceAnnotationPolicy = new InstanceAnnotationMaterializationPolicy(materializerContext); entryPolicy.CollectionValueMaterializationPolicy = collectionPolicy; entryPolicy.InstanceAnnotationMaterializationPolicy = intanceAnnotationPolicy; return(entryPolicy); }
internal ComplexValueMaterializationPolicy CreatePrimitiveValueMaterializationPolicy(TestMaterializerContext context) { var lazyPrimitivePropertyConverter = new DSClient.SimpleLazy<PrimitivePropertyConverter>(() => new PrimitivePropertyConverter(ODataFormat.Json)); var primitiveValueMaterializerPolicy = new PrimitiveValueMaterializationPolicy(context, lazyPrimitivePropertyConverter); var complexPolicy = new ComplexValueMaterializationPolicy(context, lazyPrimitivePropertyConverter); var collectionPolicy = new CollectionValueMaterializationPolicy(context, primitiveValueMaterializerPolicy); var intanceAnnotationPolicy = new InstanceAnnotationMaterializationPolicy(context); collectionPolicy.ComplexValueMaterializationPolicy = complexPolicy; complexPolicy.CollectionValueMaterializationPolicy = collectionPolicy; complexPolicy.InstanceAnnotationMaterializationPolicy = intanceAnnotationPolicy; return complexPolicy; }
/// <summary> /// Initializes a new instance of the <see cref="ComplexValueMaterializationPolicy" /> class. /// </summary> /// <param name="materializerContext">The materializer context.</param> /// <param name="lazyPrimitivePropertyConverter">The lazy primitive property converter.</param> internal ComplexValueMaterializationPolicy(IODataMaterializerContext materializerContext, DSClient.SimpleLazy <PrimitivePropertyConverter> lazyPrimitivePropertyConverter) : base(materializerContext, lazyPrimitivePropertyConverter) { }
/// <summary> /// Initializes a new instance of the <see cref="StructuralValueMaterializationPolicy" /> class. /// </summary> /// <param name="materializerContext">The materializer context.</param> /// <param name="lazyPrimitivePropertyConverter">The lazy primitive property converter.</param> protected StructuralValueMaterializationPolicy(IODataMaterializerContext materializerContext, DSClient.SimpleLazy <PrimitivePropertyConverter> lazyPrimitivePropertyConverter) { Debug.Assert(materializerContext != null, "materializer!=null"); this.MaterializerContext = materializerContext; this.lazyPrimitivePropertyConverter = lazyPrimitivePropertyConverter; }
/// <summary> /// Initializes a new instance of the <see cref="ComplexValueMaterializationPolicy" /> class. /// </summary> /// <param name="materializerContext">The materializer context.</param> /// <param name="lazyPrimitivePropertyConverter">The lazy primitive property converter.</param> protected StructuralValueMaterializationPolicy(IODataMaterializerContext materializerContext, DSClient.SimpleLazy<PrimitivePropertyConverter> lazyPrimitivePropertyConverter) { Debug.Assert(materializerContext != null, "materializer!=null"); this.MaterializerContext = materializerContext; this.lazyPrimitivePropertyConverter = lazyPrimitivePropertyConverter; }