public bool TryGetDeserializer(Type entityType, out Delegate deserializer) { Delegate cachedDeserializer; bool isCached = DeserializerCache.TryGetValue(entityType, out cachedDeserializer); deserializer = cachedDeserializer; return(isCached); }
public bool TryGetDeserializer <T>(out MapEntityImplementation <T> deserializer) { Delegate cachedDeserializer; bool isCached = DeserializerCache.TryGetValue(typeof(T), out cachedDeserializer); deserializer = (MapEntityImplementation <T>)cachedDeserializer; return(isCached); }
public TFact Deserialize <TFact>(FactGraph graph, FactReference reference) { lock (this) { var emitter = new Emitter(graph, deserializerCache); var fact = emitter.Deserialize <TFact>(reference); deserializerCache = emitter.DeserializerCache; return(fact); } }
public TFact Deserialize <TFact>(FactGraph graph, Element element) { if (element is SimpleElement simple) { lock (this) { var emitter = new Emitter(graph, deserializerCache); var fact = emitter.Deserialize <TFact>(simple.FactReference); deserializerCache = emitter.DeserializerCache; return(fact); } } else { throw new NotImplementedException(); } }
public ImmutableList <ProductAnchorProjection> DeserializeProductsFromGraph( FactGraph graph, Projection projection, ImmutableList <Product> products, Type type, Product anchor, string collectionName, IWatchContext?watchContext) { lock (this) { var emitter = new Emitter(graph, deserializerCache, watchContext); ImmutableList <ProductAnchorProjection> results = Deserializer.Deserialize(emitter, projection, type, products, anchor, collectionName); deserializerCache = emitter.DeserializerCache; return(results); } }
public void CacheDeserializer(Type entityType, Delegate deserializer) { DeserializerCache.Add(entityType, deserializer); }
public void CacheDeserializer <T>(MapEntityImplementation <T> deserializer) { DeserializerCache.Add(typeof(T), deserializer); }