當前位置: 首頁>>代碼示例>>Java>>正文


Java OutputLimitSpec.getTimePeriodExpr方法代碼示例

本文整理匯總了Java中com.espertech.esper.epl.spec.OutputLimitSpec.getTimePeriodExpr方法的典型用法代碼示例。如果您正苦於以下問題:Java OutputLimitSpec.getTimePeriodExpr方法的具體用法?Java OutputLimitSpec.getTimePeriodExpr怎麽用?Java OutputLimitSpec.getTimePeriodExpr使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.espertech.esper.epl.spec.OutputLimitSpec的用法示例。


在下文中一共展示了OutputLimitSpec.getTimePeriodExpr方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: createConditionFactory

import com.espertech.esper.epl.spec.OutputLimitSpec; //導入方法依賴的package包/類
public static OutputConditionPolledFactory createConditionFactory(OutputLimitSpec outputLimitSpec,
                                                                  StatementContext statementContext)
        throws ExprValidationException {
    if (outputLimitSpec == null) {
        throw new NullPointerException("Output condition by count requires a non-null callback");
    }

    // check variable use
    VariableMetaData variableMetaData = null;
    if (outputLimitSpec.getVariableName() != null) {
        variableMetaData = statementContext.getVariableService().getVariableMetaData(outputLimitSpec.getVariableName());
        if (variableMetaData == null) {
            throw new IllegalArgumentException("Variable named '" + outputLimitSpec.getVariableName() + "' has not been declared");
        }
    }

    if (outputLimitSpec.getRateType() == OutputLimitRateType.CRONTAB) {
        return new OutputConditionPolledCrontabFactory(outputLimitSpec.getCrontabAtSchedule(), statementContext);
    } else if (outputLimitSpec.getRateType() == OutputLimitRateType.WHEN_EXPRESSION) {
        return new OutputConditionPolledExpressionFactory(outputLimitSpec.getWhenExpressionNode(), outputLimitSpec.getThenExpressions(), statementContext);
    } else if (outputLimitSpec.getRateType() == OutputLimitRateType.EVENTS) {
        int rate = -1;
        if (outputLimitSpec.getRate() != null) {
            rate = outputLimitSpec.getRate().intValue();
        }
        return new OutputConditionPolledCountFactory(rate, statementContext, outputLimitSpec.getVariableName());
    } else {
        if (variableMetaData != null && (!JavaClassHelper.isNumeric(variableMetaData.getType()))) {
            throw new IllegalArgumentException("Variable named '" + outputLimitSpec.getVariableName() + "' must be of numeric type");
        }
        return new OutputConditionPolledTimeFactory(outputLimitSpec.getTimePeriodExpr(), statementContext);
    }
}
 
開發者ID:espertechinc,項目名稱:esper,代碼行數:34,代碼來源:OutputConditionPolledFactoryFactory.java

示例2: OutputConditionFirstFactory

import com.espertech.esper.epl.spec.OutputLimitSpec; //導入方法依賴的package包/類
public OutputConditionFirstFactory(OutputLimitSpec outputLimitSpec, StatementContext statementContext, boolean isGrouped, boolean isWithHavingClause, ResultSetProcessorHelperFactory resultSetProcessorHelperFactory)
        throws ExprValidationException {
    OutputLimitSpec innerSpec = new OutputLimitSpec(outputLimitSpec.getRate(), outputLimitSpec.getVariableName(), outputLimitSpec.getRateType(), OutputLimitLimitType.DEFAULT, outputLimitSpec.getWhenExpressionNode(), outputLimitSpec.getThenExpressions(), outputLimitSpec.getCrontabAtSchedule(), outputLimitSpec.getTimePeriodExpr(), outputLimitSpec.getAfterTimePeriodExpr(), outputLimitSpec.getAfterNumberOfEvents(), outputLimitSpec.isAndAfterTerminate(), outputLimitSpec.getAndAfterTerminateExpr(), outputLimitSpec.getAndAfterTerminateThenExpressions());
    this.innerConditionFactory = OutputConditionFactoryFactory.createCondition(innerSpec, statementContext, isGrouped, isWithHavingClause, false, resultSetProcessorHelperFactory);
}
 
開發者ID:espertechinc,項目名稱:esper,代碼行數:6,代碼來源:OutputConditionFirstFactory.java

示例3: OutputConditionFirstFactory

import com.espertech.esper.epl.spec.OutputLimitSpec; //導入方法依賴的package包/類
public OutputConditionFirstFactory(OutputLimitSpec outputLimitSpec, StatementContext statementContext, boolean isGrouped, boolean isWithHavingClause)
           throws ExprValidationException
   {
	OutputLimitSpec innerSpec = new OutputLimitSpec(outputLimitSpec.getRate(), outputLimitSpec.getVariableName(), outputLimitSpec.getRateType(), OutputLimitLimitType.DEFAULT, outputLimitSpec.getWhenExpressionNode(), outputLimitSpec.getThenExpressions(), outputLimitSpec.getCrontabAtSchedule(), outputLimitSpec.getTimePeriodExpr(), outputLimitSpec.getAfterTimePeriodExpr(), outputLimitSpec.getAfterNumberOfEvents(), outputLimitSpec.isAndAfterTerminate(), outputLimitSpec.getAndAfterTerminateExpr(), outputLimitSpec.getAndAfterTerminateThenExpressions());
	this.innerConditionFactory = OutputConditionFactoryFactory.createCondition(innerSpec, statementContext, isGrouped, isWithHavingClause);
}
 
開發者ID:mobile-event-processing,項目名稱:Asper,代碼行數:7,代碼來源:OutputConditionFirstFactory.java

示例4: createCondition

import com.espertech.esper.epl.spec.OutputLimitSpec; //導入方法依賴的package包/類
/**
    * Creates an output condition instance.
    * @param outputLimitSpec specifies what kind of condition to create
    * @return instance for handling output condition
    */
public static OutputConditionPolled createCondition(OutputLimitSpec outputLimitSpec,
                                                    AgentInstanceContext agentInstanceContext)
           throws ExprValidationException
   {
	if(outputLimitSpec == null)
	{
		throw new NullPointerException("Output condition by count requires a non-null callback");
	}

       // Check if a variable is present
       VariableReader reader = null;
       if (outputLimitSpec.getVariableName() != null)
       {
           reader = agentInstanceContext.getStatementContext().getVariableService().getReader(outputLimitSpec.getVariableName());
           if (reader == null)
           {
               throw new IllegalArgumentException("Variable named '" + outputLimitSpec.getVariableName() + "' has not been declared");
           }
       }

       if(outputLimitSpec.getRateType() == OutputLimitRateType.CRONTAB)
       {
           return new OutputConditionPolledCrontab(outputLimitSpec.getCrontabAtSchedule(), agentInstanceContext);
       }
       else if(outputLimitSpec.getRateType() == OutputLimitRateType.WHEN_EXPRESSION)
       {
           return new OutputConditionPolledExpression(outputLimitSpec.getWhenExpressionNode(), outputLimitSpec.getThenExpressions(), agentInstanceContext);
       }
       else if(outputLimitSpec.getRateType() == OutputLimitRateType.EVENTS)
	{
           if (log.isDebugEnabled())
           {
		    log.debug(".createCondition creating OutputConditionCount with event rate " + outputLimitSpec);
           }

           if ((reader != null) && (!JavaClassHelper.isNumericNonFP(reader.getType())))
           {
               throw new IllegalArgumentException("Variable named '" + outputLimitSpec.getVariableName() + "' must be type integer, long or short");
           }

           int rate = -1;
           if (outputLimitSpec.getRate() != null)
           {
               rate = outputLimitSpec.getRate().intValue();
           }
           return new OutputConditionPolledCount(rate, reader);
	}
	else
	{
           if ((reader != null) && (!JavaClassHelper.isNumeric(reader.getType())))
           {
               throw new IllegalArgumentException("Variable named '" + outputLimitSpec.getVariableName() + "' must be of numeric type");
           }

           return new OutputConditionPolledTime(outputLimitSpec.getTimePeriodExpr(), agentInstanceContext);
	}
}
 
開發者ID:mobile-event-processing,項目名稱:Asper,代碼行數:63,代碼來源:OutputConditionPolledFactory.java


注:本文中的com.espertech.esper.epl.spec.OutputLimitSpec.getTimePeriodExpr方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。