예제 #1
0
 /// <summary>
 ///     Ctor.
 /// </summary>
 /// <param name="selector">selector</param>
 /// <param name="unit">unit</param>
 public OutputLimitClause(
     OutputLimitSelector selector,
     OutputLimitUnit unit)
 {
     this.selector = selector;
     this.unit = unit;
 }
예제 #2
0
        /// <summary>
        /// Limit the output of the query.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="esperQuery">The esper query.</param>
        /// <param name="selector">is the events to select</param>
        /// <param name="frequencyVariable">is the variable providing the output limit frequency</param>
        /// <returns>clause</returns>
        public static EsperQuery <T> OutputLimit <T>(this EsperQuery <T> esperQuery, OutputLimitSelector selector, String frequencyVariable)
        {
            var parentObjectModel = esperQuery.ObjectModel;
            var deriveObjectModel = parentObjectModel.ShallowCopy();

            deriveObjectModel.OutputLimitClause = OutputLimitClause.Create(selector, frequencyVariable);
            return(new EsperQuery <T>(esperQuery.ServiceProvider, deriveObjectModel));
        }
예제 #3
0
        /// <summary>
        /// Limit the output of the query.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="esperQuery">The esper query.</param>
        /// <param name="selector">The selector.</param>
        /// <param name="timePeriodExpression">The time period expression.</param>
        /// <returns></returns>
        public static EsperQuery <T> OutputLimit <T>(this EsperQuery <T> esperQuery, OutputLimitSelector selector, TimePeriodExpression timePeriodExpression)
        {
            var parentObjectModel = esperQuery.ObjectModel;
            var deriveObjectModel = parentObjectModel.ShallowCopy();

            deriveObjectModel.OutputLimitClause = OutputLimitClause.Create(selector, timePeriodExpression);
            return(new EsperQuery <T>(esperQuery.ServiceProvider, deriveObjectModel));
        }
예제 #4
0
 /// <summary>
 ///     Ctor.
 /// </summary>
 /// <param name="selector">is the events to select</param>
 /// <param name="timePeriodExpression">the unit for the frequency</param>
 public OutputLimitClause(
     OutputLimitSelector selector,
     TimePeriodExpression timePeriodExpression)
 {
     this.selector = selector;
     this.timePeriodExpression = timePeriodExpression;
     unit = OutputLimitUnit.TIME_PERIOD;
 }
예제 #5
0
 /// <summary>
 ///     Ctor.
 /// </summary>
 /// <param name="selector">is the events to select</param>
 /// <param name="frequency">a frequency to output at</param>
 public OutputLimitClause(
     OutputLimitSelector selector,
     double? frequency)
 {
     this.selector = selector;
     this.frequency = frequency;
     unit = OutputLimitUnit.EVENTS;
 }
예제 #6
0
 /// <summary>
 ///     Ctor.
 /// </summary>
 /// <param name="selector">is the events to select</param>
 /// <param name="crontabAtParameters">the crontab schedule parameters</param>
 public OutputLimitClause(
     OutputLimitSelector selector,
     Expression[] crontabAtParameters)
 {
     this.selector = selector;
     this.crontabAtParameters = crontabAtParameters;
     unit = OutputLimitUnit.CRONTAB_EXPRESSION;
 }
예제 #7
0
 /// <summary>
 ///     Ctor.
 /// </summary>
 /// <param name="selector">is the events to select</param>
 /// <param name="frequencyVariable">is the variable name providing output rate frequency values</param>
 public OutputLimitClause(
     OutputLimitSelector selector,
     string frequencyVariable)
 {
     this.selector = selector;
     this.frequencyVariable = frequencyVariable;
     unit = OutputLimitUnit.EVENTS;
 }
예제 #8
0
 /// <summary>Ctor. </summary>
 /// <param name="selector">is the events to select</param>
 /// <param name="whenExpression">the bool expression to evaluate to control output</param>
 /// <param name="thenAssignments">the variable assignments, optional or an empty list</param>
 public OutputLimitClause(
     OutputLimitSelector selector,
     Expression whenExpression,
     IList <Assignment> thenAssignments)
 {
     Selector        = selector;
     WhenExpression  = whenExpression;
     ThenAssignments = thenAssignments;
     Unit            = OutputLimitUnit.WHEN_EXPRESSION;
 }
예제 #9
0
 /// <summary>Ctor. </summary>
 /// <param name="selector">is the events to select</param>
 /// <param name="unit">the unit of selection</param>
 /// <param name="afterTimePeriod">after-keyword time period</param>
 /// <param name="afterNumberOfEvents">after-keyword number of events</param>
 public OutputLimitClause(
     OutputLimitSelector selector,
     OutputLimitUnit unit,
     TimePeriodExpression afterTimePeriod,
     int?afterNumberOfEvents)
 {
     Selector = selector;
     Unit     = unit;
     AfterTimePeriodExpression = afterTimePeriod;
     AfterNumberOfEvents       = afterNumberOfEvents;
 }
예제 #10
0
 /// <summary>Ctor. </summary>
 /// <param name="selector">is the events to select</param>
 /// <param name="frequency">a frequency to output at</param>
 /// <param name="unit">the unit for the frequency</param>
 /// <param name="frequencyVariable">is the variable name providing output rate frequency values</param>
 public OutputLimitClause(
     OutputLimitSelector selector,
     Double?frequency,
     String frequencyVariable,
     OutputLimitUnit unit)
 {
     Selector          = selector;
     Frequency         = frequency;
     FrequencyVariable = frequencyVariable;
     Unit = unit;
 }
예제 #11
0
 /// <summary>
 ///     Ctor.
 /// </summary>
 /// <param name="selector">is the events to select</param>
 /// <param name="frequency">a frequency to output at</param>
 /// <param name="unit">the unit for the frequency</param>
 /// <param name="frequencyVariable">is the variable name providing output rate frequency values</param>
 public OutputLimitClause(
     OutputLimitSelector selector,
     double? frequency,
     string frequencyVariable,
     OutputLimitUnit unit)
 {
     this.selector = selector;
     this.frequency = frequency;
     this.frequencyVariable = frequencyVariable;
     this.unit = unit;
 }
예제 #12
0
        public static string GetText(this OutputLimitSelector @enum)
        {
            switch (@enum)
            {
                case OutputLimitSelector.FIRST:
                    return "first";

                case OutputLimitSelector.LAST:
                    return "last";

                case OutputLimitSelector.ALL:
                    return "all";

                case OutputLimitSelector.SNAPSHOT:
                    return "snapshot";

                case OutputLimitSelector.DEFAULT:
                    return "default";
            }

            throw new ArgumentException();
        }
예제 #13
0
 /// <summary>Creates an output limit clause. </summary>
 /// <param name="selector">is the events to select</param>
 /// <param name="timePeriodExpression">a frequency to output at</param>
 /// <returns>clause</returns>
 public static OutputLimitClause Create(OutputLimitSelector selector, TimePeriodExpression timePeriodExpression)
 {
     return(new OutputLimitClause(selector, timePeriodExpression));
 }
예제 #14
0
 /// <summary>Ctor. </summary>
 /// <param name="selector">selector</param>
 /// <param name="unit">unit</param>
 public OutputLimitClause(OutputLimitSelector selector, OutputLimitUnit unit)
 {
     Selector = selector;
     Unit     = unit;
 }
예제 #15
0
 /// <summary>Ctor. </summary>
 /// <param name="selector">is the events to select</param>
 /// <param name="frequencyVariable">is the variable name providing output rate frequency values</param>
 public OutputLimitClause(OutputLimitSelector selector, String frequencyVariable)
 {
     Selector          = selector;
     FrequencyVariable = frequencyVariable;
     Unit = OutputLimitUnit.EVENTS;
 }
예제 #16
0
 /// <summary>Creates an output limit clause. </summary>
 /// <param name="selector">is the events to select</param>
 /// <param name="frequency">a frequency to output at</param>
 /// <returns>clause</returns>
 public static OutputLimitClause Create(OutputLimitSelector selector, double frequency)
 {
     return(new OutputLimitClause(selector, frequency));
 }
예제 #17
0
 /// <summary>Creates an output limit clause. </summary>
 /// <param name="selector">is the events to select</param>
 /// <param name="frequencyVariable">is the variable providing the output limit frequency</param>
 /// <returns>clause</returns>
 public static OutputLimitClause Create(OutputLimitSelector selector, String frequencyVariable)
 {
     return(new OutputLimitClause(selector, frequencyVariable));
 }
예제 #18
0
 /// <summary>Ctor. </summary>
 /// <param name="selector">is the events to select</param>
 /// <param name="frequency">a frequency to output at</param>
 public OutputLimitClause(OutputLimitSelector selector, Double frequency)
 {
     Selector  = selector;
     Frequency = frequency;
     Unit      = OutputLimitUnit.EVENTS;
 }