Brooklyn

brooklyn.event.adapter
[Groovy] Class FunctionSensorAdapter

java.lang.Object
  brooklyn.event.adapter.AbstractSensorAdapter
      brooklyn.event.adapter.FunctionSensorAdapter

class FunctionSensorAdapter
extends AbstractSensorAdapter

Entry point for wiring up arbitrary functions to be used as the source for sensors.

Example usage: def fnSensorAdaptor = sensorRegistry.register(new FunctionSensorAdapter(&myFunction)); fnSensorAdaptor.poll(MY_BROOKLYN_RAW_DATA_ATTRIBUTE) fnSensorAdaptor.then({ MyStruct.parse(it) }).with { then({ it.field1 }).poll(MY_BROOKLYN_ATTRIBUTE_1) then({ it.field2 }).poll(MY_BROOKLYN_ATTRIBUTE_2) } //or, field1 access can also be written: fnSensorAdaptor.poll(MY_BROOKLYN_ATTRIBUTE_1, { MyStruct.parse(it).field1 } )


Field Summary
static long CALL_TIMEOUT_MS

protected java.util.concurrent.Callable callable

protected FunctionBasePollHelper poller

 
Constructor Summary
FunctionSensorAdapter(java.util.Map flags = [:])

FunctionSensorAdapter(java.util.Map flags = [:], java.util.concurrent.Callable c)

 
Method Summary
java.lang.Object call()

void poll(Sensor s, groovy.lang.Closure c = {it})

FunctionCallAdapter then(groovy.lang.Closure f)

FunctionCallAdapter then(Function f)

 
Methods inherited from class AbstractSensorAdapter
activateAdapter, addActivationLifecycleListeners, deactivateAdapter, isConnected, register
 

Field Detail

CALL_TIMEOUT_MS

public static final long CALL_TIMEOUT_MS


callable

protected final java.util.concurrent.Callable callable


poller

protected final FunctionBasePollHelper poller


 
Constructor Detail

FunctionSensorAdapter

FunctionSensorAdapter(java.util.Map flags = [:])


FunctionSensorAdapter

FunctionSensorAdapter(java.util.Map flags = [:], java.util.concurrent.Callable c)


 
Method Detail

call

java.lang.Object call()


poll

void poll(Sensor s, groovy.lang.Closure c = {it})


then

FunctionCallAdapter then(groovy.lang.Closure f)


then

FunctionCallAdapter then(Function f)


 

Brooklyn Multi-Cloud Application Management Platform
brooklyncentral.github.com. Apache License. © 2012.