本文整理匯總了Java中org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator類的典型用法代碼示例。如果您正苦於以下問題:Java OutputAttributeAggregator類的具體用法?Java OutputAttributeAggregator怎麽用?Java OutputAttributeAggregator使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
OutputAttributeAggregator類屬於org.wso2.siddhi.core.query.selector.attribute.handler包,在下文中一共展示了OutputAttributeAggregator類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: process
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //導入依賴的package包/類
protected Object process(AtomicEvent event, OutputAttributeAggregator outputAttributeAggregator) {
if (size > 1) {
Object[] data = new Object[expressionExecutors.size()];
for (int i = 0, size = data.length; i < size; i++) {
data[i] = expressionExecutors.get(i).execute(event);
}
if (event instanceof RemoveStream) {
return outputAttributeAggregator.processRemove(data);
} else {
return outputAttributeAggregator.processAdd(data);
}
} else {
if (event instanceof RemoveStream) {
return outputAttributeAggregator.processRemove(expressionExecutors.get(0).execute(event));
} else {
return outputAttributeAggregator.processAdd(expressionExecutors.get(0).execute(event));
}
}
}
示例2: createSumAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //導入依賴的package包/類
public static OutputAttributeAggregator createSumAggregator(Attribute.Type[] types) {
if (types.length > 1) {
throw new QueryCreationException("Sum can only have one parameter");
}
Attribute.Type type = types[0];
switch (type) {
case STRING:
throw new OperationNotSupportedException("Sum not supported for string");
case INT:
return new SumOutputAttributeAggregatorInt();
case LONG:
return new SumOutputAttributeAggregatorLong();
case FLOAT:
return new SumOutputAttributeAggregatorFloat();
case DOUBLE:
return new SumOutputAttributeAggregatorDouble();
case BOOL:
throw new OperationNotSupportedException("Sum not supported for bool");
}
throw new OperationNotSupportedException("Sum not supported for " + type);
}
示例3: createAvgAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //導入依賴的package包/類
public static OutputAttributeAggregator createAvgAggregator(Attribute.Type[] types) {
if (types.length > 1) {
throw new QueryCreationException("Avg can only have one parameter");
}
Attribute.Type type = types[0];
switch (type) {
case STRING:
throw new OperationNotSupportedException("Avg not supported for string");
case INT:
return new AvgOutputAttributeAggregatorInt();
case LONG:
return new AvgOutputAttributeAggregatorLong();
case FLOAT:
return new AvgOutputAttributeAggregatorFloat();
case DOUBLE:
return new AvgOutputAttributeAggregatorDouble();
case BOOL:
throw new OperationNotSupportedException("Avg not supported for bool");
}
throw new OperationNotSupportedException("Avg not supported for " + type);
}
示例4: createMaxAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //導入依賴的package包/類
public static OutputAttributeAggregator createMaxAggregator(Attribute.Type[] types) {
if (types.length > 1) {
throw new QueryCreationException("Max can only have one parameter");
}
Attribute.Type type = types[0];
switch (type) {
case STRING:
throw new OperationNotSupportedException("Max not supported for string");
case INT:
return new MaxOutputAttributeAggregatorInt();
case LONG:
return new MaxOutputAttributeAggregatorLong();
case FLOAT:
return new MaxOutputAttributeAggregatorFloat();
case DOUBLE:
return new MaxOutputAttributeAggregatorDouble();
case BOOL:
throw new OperationNotSupportedException("Max not supported for bool");
}
throw new OperationNotSupportedException("Max not supported for " + type);
}
示例5: createMinAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //導入依賴的package包/類
public static OutputAttributeAggregator createMinAggregator(Attribute.Type[] types) {
if (types.length > 1) {
throw new QueryCreationException("Min can only have one parameter");
}
Attribute.Type type = types[0];
switch (type) {
case STRING:
throw new OperationNotSupportedException("Min not supported for string");
case INT:
return new MinOutputAttributeAggregatorInt();
case LONG:
return new MinOutputAttributeAggregatorLong();
case FLOAT:
return new MinOutputAttributeAggregatorFloat();
case DOUBLE:
return new MinOutputAttributeAggregatorDouble();
case BOOL:
throw new OperationNotSupportedException("Min not supported for bool");
}
throw new OperationNotSupportedException("Min not supported for " + type);
}
示例6: process
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //導入依賴的package包/類
protected Object process(StreamEvent event, OutputAttributeAggregator outputAttributeAggregator) {
if (size > 1) {
Object[] data = new Object[expressionExecutors.size()];
for (int i = 0, size = data.length; i < size; i++) {
data[i] = expressionExecutors.get(i).execute(event);
}
if (event instanceof RemoveStream) {
return outputAttributeAggregator.processRemove(data);
} else {
return outputAttributeAggregator.processAdd(data);
}
} else {
if (event instanceof RemoveStream) {
return outputAttributeAggregator.processRemove(expressionExecutors.get(0).execute(event));
} else {
return outputAttributeAggregator.processAdd(expressionExecutors.get(0).execute(event));
}
}
}
示例7: currentState
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //導入依賴的package包/類
public Object[] currentState() {
Map<String, OutputAttributeAggregator> tempMap = new HashMap<String, OutputAttributeAggregator>();
for (Map.Entry<String, OutputAttributeAggregator> entry : distributedAggregatorMap.entrySet()) {
tempMap.put(entry.getKey(), entry.getValue());
}
//todo may be we throw an error saying we don't support for distributed cases
return new Object[]{tempMap};
}
示例8: unlock
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //導入依賴的package包/類
@Override
public synchronized void unlock() {
if (lockedAcquired) {
for (Map.Entry<String, OutputAttributeAggregator> entry : tempAggregatorMap.entrySet()) {
distributedAggregatorMap.putAsync(entry.getKey(), entry.getValue());
}
tempAggregatorMap.clear();
lockedAcquired = false;
// distributedAggregatorMap.unlockMap();
lock.unlock();
}
}
示例9: currentState
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //導入依賴的package包/類
@Override
protected Object[] currentState() {
distributedAggregatorMap.lock(elementId);
OutputAttributeAggregator currentOutputAttributeAggregator = (OutputAttributeAggregator) distributedAggregatorMap.get(elementId);
Object[] data = new Object[]{currentOutputAttributeAggregator};
distributedAggregatorMap.unlock(elementId);
return data;
}
示例10: lock
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //導入依賴的package包/類
@Override
public synchronized void lock() {
distributedAggregatorMap.lock(elementId);
lockedAcquired = true;
try {
outputAttributeAggregator = (OutputAttributeAggregator) distributedAggregatorMap.getAsync(elementId).get();
} catch (Exception e) {
log.error(e);
}
}
示例11: process
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //導入依賴的package包/類
public synchronized Object process(AtomicEvent event, String key) {
OutputAttributeAggregator currentOutputAttributeAggregator = aggregatorMap.get(key);
if (currentOutputAttributeAggregator == null) {
currentOutputAttributeAggregator = sampleOutputAttributeAggregator.newInstance();
siddhiContext.addEternalReferencedHolder(currentOutputAttributeAggregator);
aggregatorMap.put(key, currentOutputAttributeAggregator);
}
return process(event, currentOutputAttributeAggregator);
}
示例12: createAttributeAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //導入依賴的package包/類
@Override
public OutputAttributeAggregator createAttributeAggregator(Attribute.Type[] types) {
return OutputAttributeHandlerParser.createMinAggregator(types);
}
示例13: createAttributeAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //導入依賴的package包/類
public OutputAttributeAggregator createAttributeAggregator(Attribute.Type[] types){
return OutputAttributeHandlerParser.createAvgAggregator(types);
}
示例14: createAttributeAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //導入依賴的package包/類
@Override
public OutputAttributeAggregator createAttributeAggregator(Attribute.Type[] types) {
return OutputAttributeHandlerParser.createMaxAggregator(types);
}
示例15: createAttributeAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //導入依賴的package包/類
public OutputAttributeAggregator createAttributeAggregator(Attribute.Type[] types) {
return OutputAttributeHandlerParser.createCountAggregator(types);
}