/// <summary> /// Initializes a new instance of the <see cref="ExpressionParser"/> class. /// </summary> /// <param name="searchParameterDefinitionManagerResolver">The search parameter definition manager.</param> /// <param name="searchParameterExpressionParser">The parser used to parse the search value into a search expression.</param> public ExpressionParser( SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver, ISearchParameterExpressionParser searchParameterExpressionParser) { EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver)); EnsureArg.IsNotNull(searchParameterExpressionParser, nameof(searchParameterExpressionParser)); _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver(); _searchParameterExpressionParser = searchParameterExpressionParser; }
public SystemConformanceProvider( IModelInfoProvider modelInfoProvider, SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver, Func <IScoped <IEnumerable <IProvideCapability> > > capabilityProviders) { EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider)); EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver)); EnsureArg.IsNotNull(capabilityProviders, nameof(capabilityProviders)); _modelInfoProvider = modelInfoProvider; _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver(); _capabilityProviders = capabilityProviders; }
public SearchOptionsFactory( IExpressionParser expressionParser, SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver, ILogger <SearchOptionsFactory> logger) { EnsureArg.IsNotNull(expressionParser, nameof(expressionParser)); EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver)); EnsureArg.IsNotNull(logger, nameof(logger)); _expressionParser = expressionParser; _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver(); _logger = logger; _resourceTypeSearchParameter = _searchParameterDefinitionManager.GetSearchParameter(ResourceType.Resource.ToString(), SearchParameterNames.ResourceType); }
public SearchParameterExpressionParser( SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver, IReferenceSearchValueParser referenceSearchValueParser) { EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver)); EnsureArg.IsNotNull(referenceSearchValueParser, nameof(referenceSearchValueParser)); _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver(); _referenceSearchValueParser = referenceSearchValueParser; _parserDictionary = new Dictionary <SearchParamType, Func <string, ISearchValue> >() { { SearchParamType.Date, DateTimeSearchValue.Parse }, { SearchParamType.Number, NumberSearchValue.Parse }, { SearchParamType.Quantity, QuantitySearchValue.Parse }, { SearchParamType.Reference, _referenceSearchValueParser.Parse }, { SearchParamType.String, StringSearchValue.Parse }, { SearchParamType.Token, TokenSearchValue.Parse }, { SearchParamType.Uri, UriSearchValue.Parse }, }; }