Class GatewayFunctionPoller<T>
- java.lang.Object
-
- com.inductiveautomation.factorypmi.application.components.util.GatewayFunctionPoller<T>
-
public abstract class GatewayFunctionPoller<T> extends java.lang.Object
This little helper class makes it easier to implement polling gateway function logic within a component. Simply extend one of these as an inner class on your component, and override the functions to run the gateway function and to consume the results. The function will be run on a background thread, optionally polled at a time interval. The results will be delivered on the EDT.
-
-
Field Summary
Fields Modifier and Type Field Description protected VisionClientContext
context
protected LoggerEx
log
protected long
refreshRate
-
Constructor Summary
Constructors Constructor Description GatewayFunctionPoller(LoggerEx log, long refreshRate)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description long
getRefreshRate()
protected abstract void
onValueReceived(T value, QualityCode quality)
This will be called when the object has been retrieved.protected abstract T
runFunction(GatewayConnection con)
Run the actual function to get data from the gatewayprotected void
scheduleQuery()
void
setRefreshRate(long refreshRate)
void
shutdown()
void
startup(VisionClientContext context)
protected abstract java.lang.String
verb()
Return a verb that describes what this poller does.
-
-
-
Field Detail
-
log
protected LoggerEx log
-
refreshRate
protected long refreshRate
-
context
protected VisionClientContext context
-
-
Constructor Detail
-
GatewayFunctionPoller
public GatewayFunctionPoller(LoggerEx log, long refreshRate)
-
-
Method Detail
-
getRefreshRate
public long getRefreshRate()
-
setRefreshRate
public void setRefreshRate(long refreshRate)
-
startup
public void startup(VisionClientContext context)
-
shutdown
public void shutdown()
-
scheduleQuery
protected void scheduleQuery()
-
runFunction
protected abstract T runFunction(GatewayConnection con) throws GatewayException
Run the actual function to get data from the gateway- Throws:
GatewayException
-
onValueReceived
protected abstract void onValueReceived(T value, QualityCode quality)
This will be called when the object has been retrieved. This function will always be called on the EDT
-
verb
protected abstract java.lang.String verb()
Return a verb that describes what this poller does. Something like "query events". For logging.
-
-