/// <summary> /// Constructor with index selection. /// </summary> /// <param name="isIndexSatisfied"></param> /// <param name="select"></param> public JoinDelegateExpression(Predicate2 <uint, Dictionary <string, object> > isIndexSatisfied, Predicate <T> isSatisfied, [NotNull] SelectDelegate <Selectable, T> select, Action <List <Selectable> > sort, JoinKeyDelegate <Key, T> join) : base(isIndexSatisfied, isSatisfied, select, sort) { this.joinKey = join; }
/// <summary> /// Constructor with satisfication and selection. /// </summary> /// <param name="isSatisfied"></param> /// <param name="select"></param> public JoinDelegateExpression(Predicate <T> isSatisfied, [NotNull] SelectDelegate <Selectable, T> select, JoinKeyDelegate <Key, T> join) : base(isSatisfied, select) { this.joinKey = join; }
public Key JoinKey(T obj) { JoinKeyDelegate <Key, T> t = joinKey; if (t != null) { return(t(obj)); } return(default(Key)); }
/// <summary> /// Constructor with select only. /// </summary> /// <param name="isSatisfied"></param> /// <param name="select"></param> public JoinDelegateExpression([NotNull] SelectDelegate <Selectable, T> select, Action <List <Selectable> > sort, JoinKeyDelegate <Key, T> join) : base(select, sort) { this.joinKey = join; }
/// <summary> /// Constructor with index selection. /// </summary> /// <param name="isIndexSatisfied"></param> /// <param name="select"></param> public AutoSelectJoinDelegateExpression(Predicate2 <uint, Dictionary <string, object> > isIndexSatisfied, Predicate <T> isSatisfied, Action <List <T> > sort, JoinKeyDelegate <Key, T> join) : base(isIndexSatisfied, isSatisfied, sort) { this.joinDelegate = join; }
/// <summary> /// Constructor with satisfication and selection. /// </summary> /// <param name="isSatisfied"></param> /// <param name="select"></param> public AutoSelectJoinDelegateExpression(Predicate <T> isSatisfied, Action <List <T> > sort, JoinKeyDelegate <Key, T> join) : base(isSatisfied, sort) { this.joinDelegate = join; }
/// <summary> /// Constructor with select only. /// </summary> /// <param name="isSatisfied"></param> /// <param name="select"></param> public AutoSelectJoinDelegateExpression(Action <List <T> > sort, JoinKeyDelegate <Key, T> join) : base(sort) { this.joinDelegate = join; }
/// <summary> /// Constructor with index selection. /// </summary> /// <param name="isIndexSatisfied"></param> /// <param name="select"></param> public AutoSelectJoinDelegateExpression(Predicate2 <uint, Dictionary <string, object> > isIndexSatisfied, JoinKeyDelegate <Key, T> join) : base(isIndexSatisfied) { this.joinDelegate = join; }
/// <summary> /// Constructor with satisfication and selection. /// </summary> /// <param name="isSatisfied"></param> /// <param name="select"></param> public AutoSelectJoinDelegateExpression(Predicate <T> isSatisfied, JoinKeyDelegate <Key, T> join) : base(isSatisfied) { this.joinDelegate = join; }
/// <summary> /// Constructor with auto-select select only. /// </summary> /// <param name="isSatisfied"></param> /// <param name="select"></param> public AutoSelectJoinDelegateExpression(JoinKeyDelegate <Key, T> join) { this.joinDelegate = join; }