public abstract class AbstractHobsonPlugin extends java.lang.Object implements HobsonPlugin, EventLoopExecutor
| Constructor and Description |
|---|
AbstractHobsonPlugin(java.lang.String pluginId,
java.lang.String version,
java.lang.String description) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addJobStatusMessage(java.lang.String msg,
java.lang.Object props) |
protected void |
deleteDeviceProxy(java.lang.String deviceId) |
Future |
executeInEventLoop(java.lang.Runnable runnable)
Execute a task using an event loop.
|
protected void |
executeTask(TaskContext context) |
protected AccessManager |
getAccessManager() |
protected ActionClass |
getActionClass(java.lang.String actionId) |
protected java.util.Collection<ActionClass> |
getActionClasses() |
PropertyContainerClass |
getConfigurationClass() |
protected abstract TypedProperty[] |
getConfigurationPropertyTypes()
Returns an array of configuration properties the plugin supports.
|
PluginContext |
getContext() |
protected java.io.File |
getDataDirectory()
Returns a File for the plugin's directory sandbox.
|
protected java.io.File |
getDataFile(java.lang.String filename)
Returns a File located in the plugin's directory sandbox.
|
protected java.lang.String |
getDescription() |
HobsonLocalPluginDescriptor |
getDescriptor() |
protected java.util.Collection<DeviceAdvertisement> |
getDeviceAdvertisementSnapshot(java.lang.String protocolId)
Requests all currently known device advertisements.
|
java.lang.Object |
getDeviceConfigurationProperty(java.lang.String deviceId,
java.lang.String name) |
java.lang.Long |
getDeviceLastCheckin(java.lang.String deviceId) |
protected java.util.Collection<HobsonDeviceProxy> |
getDeviceProxies() |
protected HobsonDeviceProxy |
getDeviceProxy(java.lang.String deviceId) |
protected DeviceVariableState |
getDeviceVariableState(DeviceVariableContext dvctx)
Returns the device variable state for a device not created by this plugin.
|
DeviceVariableState |
getDeviceVariableState(java.lang.String deviceId,
java.lang.String name)
Returns the device variable state for a device published by this plugin.
|
protected DiscoManager |
getDiscoManager() |
EventLoopExecutor |
getEventLoopExecutor() |
protected HubManager |
getHubManager() |
protected HobsonHub |
getLocalHub() |
protected abstract java.lang.String |
getName() |
protected java.util.Collection<HobsonDeviceDescriptor> |
getPublishedDeviceDescriptions() |
long |
getRefreshInterval() |
PluginStatus |
getStatus() |
protected TaskManager |
getTaskManager() |
TaskProvider |
getTaskProvider() |
protected PluginType |
getType() |
protected boolean |
hasDeviceProxy(java.lang.String deviceId) |
protected boolean |
hasDeviceVariable(java.lang.String deviceId,
java.lang.String name) |
protected boolean |
hasDeviceVariableState(DeviceVariableContext dvctx) |
boolean |
hasDeviceVariableState(java.lang.String deviceId,
java.lang.String name)
Returns whether this device has published a variable.
|
boolean |
hasTaskProvider() |
void |
onDeviceConfigurationUpdateEvent(DeviceConfigurationUpdateEvent event) |
void |
onDeviceDeletedEvent(DeviceDeletedEvent event) |
void |
onDeviceVariablesUpdate(java.util.Collection<DeviceVariableDescriptor> vars) |
void |
onHandleTaskEvents(TaskEvent event) |
abstract void |
onPluginConfigurationUpdate(PropertyContainer config) |
void |
onPluginConfigurationUpdateEvent(PluginConfigurationUpdateEvent event) |
void |
onRefresh() |
void |
onSetDeviceVariables(DeviceVariablesUpdateRequestEvent event) |
void |
postEvent(HobsonEvent event) |
void |
publishActionProvider(ActionProvider provider) |
void |
publishDeviceAdvertisement(DeviceAdvertisement advertisement,
boolean internal)
Publishes a new DeviceAdvertisement.
|
protected Future |
publishDeviceProxy(HobsonDeviceProxy proxy) |
protected Future |
publishDeviceProxy(HobsonDeviceProxy proxy,
java.util.Map<java.lang.String,java.lang.Object> config) |
protected void |
publishTaskConditionClass(TaskConditionClass conditionClass) |
void |
scheduleAtFixedRateInEventLoop(java.lang.Runnable runnable,
long initialDelay,
long time,
java.util.concurrent.TimeUnit unit) |
void |
setAccessManager(AccessManager accessManager) |
void |
setActionManager(ActionManager actionManager) |
void |
setDeviceConfigurationProperties(DeviceContext dctx,
java.util.Map<java.lang.String,java.lang.Object> values) |
void |
setDeviceConfigurationProperty(DeviceContext dctx,
java.lang.String name,
java.lang.Object value) |
void |
setDeviceManager(DeviceManager deviceManager) |
void |
setDiscoManager(DiscoManager discoManager) |
void |
setEventManager(EventManager eventManager) |
protected void |
setGlobalVariable(java.lang.String name,
java.lang.Object value,
long timestamp) |
protected void |
setGlobalVariables(java.util.Map<java.lang.String,java.lang.Object> values,
long timestamp) |
void |
setHubManager(HubManager hubManager) |
protected void |
setPluginConfigurationProperty(PluginContext ctx,
java.lang.String name,
java.lang.Object value)
Sets a plugin configuration property.
|
void |
setPluginManager(PluginManager pluginManager) |
protected void |
setStatus(PluginStatus status) |
void |
setTaskManager(TaskManager taskManager) |
void |
setTaskProvider(TaskProvider taskProvider) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitonShutdown, onStartuppublic AbstractHobsonPlugin(java.lang.String pluginId,
java.lang.String version,
java.lang.String description)
public PluginContext getContext()
getContext in interface HobsonPluginpublic PropertyContainerClass getConfigurationClass()
getConfigurationClass in interface HobsonPluginprotected void setStatus(PluginStatus status)
public HobsonLocalPluginDescriptor getDescriptor()
getDescriptor in interface HobsonPluginpublic PluginStatus getStatus()
getStatus in interface HobsonPluginpublic void onHandleTaskEvents(TaskEvent event)
public void onDeviceConfigurationUpdateEvent(DeviceConfigurationUpdateEvent event)
public void onDeviceDeletedEvent(DeviceDeletedEvent event)
public void onPluginConfigurationUpdateEvent(PluginConfigurationUpdateEvent event)
public abstract void onPluginConfigurationUpdate(PropertyContainer config)
protected DeviceVariableState getDeviceVariableState(DeviceVariableContext dvctx)
dvctx - the device variable contextprotected boolean hasDeviceVariableState(DeviceVariableContext dvctx)
public void setTaskProvider(TaskProvider taskProvider)
protected abstract java.lang.String getName()
protected java.lang.String getDescription()
protected PluginType getType()
protected boolean hasDeviceProxy(java.lang.String deviceId)
protected HobsonDeviceProxy getDeviceProxy(java.lang.String deviceId)
protected java.util.Collection<HobsonDeviceProxy> getDeviceProxies()
protected ActionClass getActionClass(java.lang.String actionId)
protected java.util.Collection<ActionClass> getActionClasses()
public java.lang.Object getDeviceConfigurationProperty(java.lang.String deviceId,
java.lang.String name)
getDeviceConfigurationProperty in interface HobsonPluginpublic java.lang.Long getDeviceLastCheckin(java.lang.String deviceId)
getDeviceLastCheckin in interface HobsonPluginpublic DeviceVariableState getDeviceVariableState(java.lang.String deviceId, java.lang.String name)
HobsonPlugingetDeviceVariableState in interface HobsonPlugindeviceId - the device IDname - the variable namepublic boolean hasDeviceVariableState(java.lang.String deviceId,
java.lang.String name)
HobsonPluginhasDeviceVariableState in interface HobsonPlugindeviceId - the device IDname - the variable namepublic boolean hasTaskProvider()
hasTaskProvider in interface HobsonPluginpublic long getRefreshInterval()
getRefreshInterval in interface HobsonPluginpublic TaskProvider getTaskProvider()
getTaskProvider in interface HobsonPluginpublic EventLoopExecutor getEventLoopExecutor()
getEventLoopExecutor in interface HobsonPluginpublic void postEvent(HobsonEvent event)
postEvent in interface HobsonPluginpublic void onDeviceVariablesUpdate(java.util.Collection<DeviceVariableDescriptor> vars)
onDeviceVariablesUpdate in interface HobsonPluginpublic void onRefresh()
onRefresh in interface HobsonPluginpublic void onSetDeviceVariables(DeviceVariablesUpdateRequestEvent event)
public void publishActionProvider(ActionProvider provider)
publishActionProvider in interface HobsonPluginprotected void publishTaskConditionClass(TaskConditionClass conditionClass)
public void scheduleAtFixedRateInEventLoop(java.lang.Runnable runnable,
long initialDelay,
long time,
java.util.concurrent.TimeUnit unit)
scheduleAtFixedRateInEventLoop in interface HobsonPluginpublic void setDeviceConfigurationProperty(DeviceContext dctx, java.lang.String name, java.lang.Object value)
setDeviceConfigurationProperty in interface HobsonPluginpublic void setDeviceConfigurationProperties(DeviceContext dctx, java.util.Map<java.lang.String,java.lang.Object> values)
setDeviceConfigurationProperties in interface HobsonPluginpublic void setAccessManager(AccessManager accessManager)
setAccessManager in interface HobsonPluginpublic void setDeviceManager(DeviceManager deviceManager)
setDeviceManager in interface HobsonPluginpublic void setDiscoManager(DiscoManager discoManager)
setDiscoManager in interface HobsonPluginpublic void setEventManager(EventManager eventManager)
setEventManager in interface HobsonPluginpublic void setHubManager(HubManager hubManager)
setHubManager in interface HobsonPluginpublic void setActionManager(ActionManager actionManager)
setActionManager in interface HobsonPluginpublic void setPluginManager(PluginManager pluginManager)
setPluginManager in interface HobsonPluginpublic void setTaskManager(TaskManager taskManager)
setTaskManager in interface HobsonPluginpublic Future executeInEventLoop(java.lang.Runnable runnable)
EventLoopExecutorexecuteInEventLoop in interface EventLoopExecutorrunnable - a task to executeprotected abstract TypedProperty[] getConfigurationPropertyTypes()
protected java.io.File getDataDirectory()
protected java.io.File getDataFile(java.lang.String filename)
filename - the filenameprotected boolean hasDeviceVariable(java.lang.String deviceId,
java.lang.String name)
protected void setPluginConfigurationProperty(PluginContext ctx, java.lang.String name, java.lang.Object value)
ctx - the context of the target pluginname - the name of the propertyvalue - the value of the propertyprotected Future publishDeviceProxy(HobsonDeviceProxy proxy)
protected Future publishDeviceProxy(HobsonDeviceProxy proxy, java.util.Map<java.lang.String,java.lang.Object> config)
protected void deleteDeviceProxy(java.lang.String deviceId)
protected void addJobStatusMessage(java.lang.String msg,
java.lang.Object props)
protected java.util.Collection<DeviceAdvertisement> getDeviceAdvertisementSnapshot(java.lang.String protocolId)
protocolId - the protocol ID for the advertisements requestedpublic void publishDeviceAdvertisement(DeviceAdvertisement advertisement, boolean internal)
advertisement - the advertisement to publishinternal - indicates if this is an internal advertisement. A value of true will insure that the
advertisement is included in any discovery requests that external clients make for a
particular protocol.protected void executeTask(TaskContext context)
protected java.util.Collection<HobsonDeviceDescriptor> getPublishedDeviceDescriptions()
protected HobsonHub getLocalHub()
protected AccessManager getAccessManager()
protected DiscoManager getDiscoManager()
protected HubManager getHubManager()
protected TaskManager getTaskManager()
protected void setGlobalVariable(java.lang.String name,
java.lang.Object value,
long timestamp)
protected void setGlobalVariables(java.util.Map<java.lang.String,java.lang.Object> values,
long timestamp)
Copyright © 2015 Whizzo Software LLC. All rights reserved.