public Inferrer(IConnectionSettingsValues connectionSettings) { connectionSettings.ThrowIfNull(nameof(connectionSettings)); _connectionSettings = connectionSettings; IdResolver = new IdResolver(connectionSettings); IndexNameResolver = new IndexNameResolver(connectionSettings); RelationNameResolver = new RelationNameResolver(connectionSettings); FieldResolver = new FieldResolver(connectionSettings); RoutingResolver = new RoutingResolver(connectionSettings, IdResolver); CreateMultiHitDelegates = new ConcurrentDictionary <Type, Action <MultiGetResponseFormatter.MultiHitTuple, IJsonFormatterResolver, ICollection <IMultiGetHit <object> > > >(); CreateSearchResponseDelegates = new ConcurrentDictionary <Type, Action <MultiSearchResponseFormatter.SearchHitTuple, IJsonFormatterResolver, IDictionary <string, IResponse> > >(); }
public RoutingResolver(IConnectionSettingsValues connectionSettings, IdResolver idResolver) { _connectionSettings = connectionSettings; _idResolver = idResolver; }
public string Id(Type type, object instance) => IdResolver.Resolve(type, instance);
public string Id <T>(T instance) where T : class => IdResolver.Resolve(instance);