public static ExistsNode <T, TProperty> Exists <T, TProperty>(this RuntimeConfigurator configurator) where T : class where TProperty : class, IEnumerable { TokenValueFactory <T, TProperty> tokenValue = Conditional.Property <T, TProperty>(); return(configurator.CreateNode(id => new ExistsNode <T, TProperty>(id, tokenValue))); }
public static NotNullNode <T, TProperty> NotNull <T, TProperty>(this RuntimeConfigurator configurator) where T : class where TProperty : class { TokenValueFactory <T, TProperty> tokenValue = Conditional.Property <T, TProperty>(); return(configurator.CreateNode(id => new NotNullNode <T, TProperty>(id, tokenValue))); }
public static CompareNode <T, TProperty> Compare <T, TProperty>(this RuntimeConfigurator configurator, Comparator <TProperty, TProperty> comparator, Value <TProperty> value) where T : class { TokenValueFactory <T, TProperty> tokenValue = Conditional.Property <T, TProperty>(); return(configurator.CreateNode(id => new CompareNode <T, TProperty>(id, tokenValue, comparator, value))); }
public static EachNode <T, TProperty, TElement> Each <T, TProperty, TElement>( this RuntimeConfigurator configurator, Action <TProperty, Action <TElement, int> > elementMatch) where T : class where TProperty : class, IEnumerable { TokenValueFactory <T, TProperty> tokenValue = Conditional.Property <T, TProperty>(); return(configurator.CreateNode(id => new EachNode <T, TProperty, TElement>(id, tokenValue, elementMatch))); }
public static CompareNode <T, TProperty> LessThanOrEqual <T, TProperty>(this RuntimeConfigurator configurator, TProperty value) where T : class where TProperty : IComparable <TProperty> { Value <TProperty> rightValue = Conditional.Constant(value); TokenValueFactory <T, TProperty> tokenValue = Conditional.Property <T, TProperty>(); var comparator = new LessThanOrEqualValueComparator <TProperty>(); return(configurator.CreateNode(id => new CompareNode <T, TProperty>(id, tokenValue, comparator, rightValue))); }