【公式】HULFT IoT EdgeStreaming Plugin SDK 開発ガイド_2021年7月1日_第3版発行
SampleSourceOperationFactoryの実装
SampleSourceOperationFactoryは、以下の情報を保持したクラスです。
継承元クラス |
BQLPluginSourceOperationFactoryクラス |
説明 |
Sourceオペレーションのプロパティを保持するオブジェクトを返したり、オペレーションオブジェクトを返したりするFactoryクラス |
SampleSourceOperationFactoryの実装は以下のとおりです。
package com.appresso.ds.dp.modules.adapter.sample; import com.appresso.ds.common.spi.constraint.NumberFillin; import com.appresso.ds.common.spi.param.SimpleParameter; import com.appresso.ds.common.xmlfw.xml.XmlHandler; import com.appresso.ds.dp.share.adapter.bql.common.BQLPluginSourceOperationFactory; import com.appresso.ds.dp.spi.OperationConfiguration; import com.appresso.ds.dp.spi.OperationConfigurator; import org.xml.sax.SAXException; import static com.appresso.ds.common.bql.BQLSimpleParameterType.FLOAT; public class SampleSourceOperationFactory extends BQLPluginSourceOperationFactory { @Override protected String getLabel() { return Messages.getString("Sample.Source.Label"); } @Override protected String getPluginName() { return "sample_plugin"; } @Override public String getOperationName() { return "sample_source"; } @Override protected String getTypeName() { return "sample_source"; } @Override protected void setupOperationConfigurator(OperationConfigurator operationConfigurator) { operationConfigurator.addSimpleParameter(createIntervalParameter()); } @Override protected void setupOutputSchema(XmlHandler handler, OperationConfiguration conf) throws Exception { handler.startElement("", "payload", "payload", EMPTY_ATTRIBUTE); writeElement(handler, "value"); handler.endElement("", "payload", "payload"); } private void writeElement(XmlHandler handler, String name) throws SAXException { handler.startElement("", name, name, EMPTY_ATTRIBUTE); handler.endElement("", name, name); } private static SimpleParameter createIntervalParameter() { NumberFillin fillin = new NumberFillin(); fillin.setMinValue(0.001); fillin.setMaxValue(1314000); fillin.setAllowMin(true); fillin.setAllowMax(true); fillin.setPrecision(10); fillin.setDecimal(3); fillin.setAllowDouble(true); fillin.setLabel(Messages.getString("Sample.Source.Interval.Label")); fillin.setRequired(true); return new SimpleParameter(FLOAT.toParameterKey("interval"), fillin); } }
【公式】HULFT IoT EdgeStreaming Plugin SDK 開発ガイド_2021年7月1日_第3版発行