public interface Controller extends OsidObject, Operable
A Controller
is an addressable Operable
that executes an action. Controllers
are related to
Devices
through Inputs.
A few typical controller
modes are defined such as a toggle, a variable amount, and a set of
discreet states. Other kinds of controllers may be defined in a
ControllerRecord.
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getAddress()
Gets the controller address.
|
ControllerRecord |
getControllerRecord(Type controllerRecordType)
Gets the controller record corresponding to the given
Controller record Type. |
IdList |
getDiscreetStateIds()
Gets the discreet
State Ids. |
StateList |
getDiscreetStates()
Gets the discreet
States. |
Model |
getModel()
Gets the controller model.
|
Id |
getModelId()
Gets the controller model
Id. |
java.math.BigDecimal |
getVariableIncrement()
Gets the increments in the level.
|
java.math.BigDecimal |
getVariableMaximum()
Gets the maximum level.
|
java.math.BigDecimal |
getVariableMinimum()
Gets the minimum level.
|
Version |
getVersion()
Gets the controller version.
|
boolean |
hasDiscreetStates()
Tests if this controller supports discreet states.
|
boolean |
isRampable()
Tests if this controller supports a ramp rate for a transition from
off to on.
|
boolean |
isToggleable()
Tests if this controller can be turned on and off.
|
boolean |
isVariable()
Tests if this controller supports levels between on and off.
|
boolean |
isVariableByPercentage()
Tests if the levels represent a percentage.
|
getDescription, getDisplayName, getGenusType, isOfGenusType
getId, isCurrent
getRecordTypes, hasRecordType
getProperties, getPropertiesByRecordType
isActive, isDisabled, isEnabled, isOperational
java.lang.String getAddress()
mandatory
- This method must be implemented. Id getModelId()
Id.
Id
mandatory
- This method must be implemented. Model getModel() throws OperationFailedException
OperationFailedException
- unable to complete requestmandatory
- This method must be implemented. Version getVersion()
mandatory
- This method must be implemented. boolean isToggleable()
true
if this controller can be toggled, false
otherwisemandatory
- This method must be implemented. boolean isVariable()
true
if this controller has levels, false
otherwisemandatory
- This method must be implemented. boolean isVariableByPercentage()
true
if this controller has levels as a
percentage, false otherwiseIllegalStateException
- isVariable()
is
false
mandatory
- This method must be implemented. java.math.BigDecimal getVariableMinimum()
IllegalStateException
- isVariable()
is
false
mandatory
- This method must be implemented. java.math.BigDecimal getVariableMaximum()
IllegalStateException
- isVariable()
is
false
mandatory
- This method must be implemented. java.math.BigDecimal getVariableIncrement()
IllegalStateException
- isVariable()
is
false
or isVariableByPercentage()
is true
mandatory
- This method must be implemented. boolean hasDiscreetStates()
true
if this controller has discreet states,
false otherwisemandatory
- This method must be implemented. IdList getDiscreetStateIds()
State
Ids.
Ids
IllegalStateException
- hasDiscreetStates()
is false
mandatory
- This method must be implemented. StateList getDiscreetStates() throws OperationFailedException
States.
IllegalStateException
- hasDiscreetStates()
is false
OperationFailedException
- unable to complete requestmandatory
- This method must be implemented. boolean isRampable()
true
if this controller supports ramp rates,
false otherwisemandatory
- This method must be implemented. ControllerRecord getControllerRecord(Type controllerRecordType) throws OperationFailedException
Controller
record Type.
This method is used to
retrieve an object implementing the requested record. The
controllerRecordType
may be the Type
returned
in getRecordTypes()
or any of its parents in a
Type
hierarchy where
hasRecordType(controllerRecordType)
is true
.controllerRecordType
- the type of controller record to retrieveNullArgumentException
- controllerRecordType
is null
OperationFailedException
- unable to complete requestUnsupportedException
-
hasRecordType(controllerRecordType)
is false
mandatory
- This method must be implemented.