/// <inheritdoc/> public ICustomProximityTerm CustomProximityTerm(Func <ProximityOperandEndpoint, IProximityOperandsConstructionFlow> proximityTermsConstructor, long maximumDistance, bool matchOrder) { ArgumentValidator.EnsureArgumentNotNull(proximityTermsConstructor, "proximityTermsConstructor"); var proximityOperandRoot = new ProximityOperandEndpoint(); var constructionFlow = proximityTermsConstructor.Invoke(proximityOperandRoot); return(SearchConditionNodeFactory.CreateCustomProximityTerm(this, constructionFlow.Operands, maximumDistance, matchOrder)); }
/// <inheritdoc/> public IProximityTerm GenericProximityTerm(Func <ProximityOperandEndpoint, IProximityOperandsConstructionFlow> proximityTermsConstructor) { ArgumentValidator.EnsureArgumentNotNull(proximityTermsConstructor, "proximityTermsConstructor"); var proximityOperandRoot = new ProximityOperandEndpoint(); var constructionFlow = proximityTermsConstructor.Invoke(proximityOperandRoot); return(SearchConditionNodeFactory.CreateGenericProximityTerm(this, constructionFlow.Operands)); }