public class DefaultDriver extends java.lang.Object implements Driver
Constructor and Description |
---|
DefaultDriver(java.lang.String name,
java.util.List<Driver> parents,
java.lang.String manufacturer,
java.lang.String hwVersion,
java.lang.String swVersion,
java.util.Map<java.lang.Class<? extends Behaviour>,java.lang.Class<? extends Behaviour>> behaviours,
java.util.Map<java.lang.String,java.lang.String> properties)
Creates a driver with the specified name.
|
Modifier and Type | Method and Description |
---|---|
java.util.Set<java.lang.Class<? extends Behaviour>> |
behaviours()
Returns the set of behaviours supported by this driver.
|
<T extends Behaviour> |
createBehaviour(DriverData data,
java.lang.Class<T> behaviourClass)
Creates an instance of behaviour primed with the specified driver data.
|
<T extends Behaviour> |
createBehaviour(DriverHandler handler,
java.lang.Class<T> behaviourClass)
Creates an instance of behaviour primed with the specified driver handler.
|
boolean |
equals(java.lang.Object driverToBeCompared) |
java.lang.String |
getProperty(java.lang.String name)
Gets the value of given property name.
|
boolean |
hasBehaviour(java.lang.Class<? extends Behaviour> behaviourClass)
Indicates whether or not the driver, or any of its parents, support
the specified class of behaviour.
|
int |
hashCode() |
java.lang.String |
hwVersion()
Returns the device hardware version.
|
java.lang.Class<? extends Behaviour> |
implementation(java.lang.Class<? extends Behaviour> behaviour)
Returns the implementation class for the specified behaviour.
|
java.util.Set<java.lang.String> |
keys()
Returns the set of keys for available annotations.
|
java.lang.String |
manufacturer()
Returns the device manufacturer name.
|
Driver |
merge(Driver other)
Merges the specified driver behaviours and properties into this one,
giving preference to the other driver when dealing with conflicts.
|
java.lang.String |
name()
Returns the driver name.
|
Driver |
parent()
Returns the parent driver from which this driver inherits behaviours
and properties.
|
java.util.List<Driver> |
parents()
Returns all the parent drivers from which this driver inherits behaviours
and properties.
|
java.util.Map<java.lang.String,java.lang.String> |
properties()
Returns the set of annotations as map of key/value properties.
|
java.lang.String |
swVersion()
Returns the device software version.
|
java.lang.String |
toString() |
java.lang.String |
value(java.lang.String key)
Returns the value of the specified annotation.
|
public DefaultDriver(java.lang.String name, java.util.List<Driver> parents, java.lang.String manufacturer, java.lang.String hwVersion, java.lang.String swVersion, java.util.Map<java.lang.Class<? extends Behaviour>,java.lang.Class<? extends Behaviour>> behaviours, java.util.Map<java.lang.String,java.lang.String> properties)
name
- driver nameparents
- optional parent driversmanufacturer
- device manufacturerhwVersion
- device hardware versionswVersion
- device software versionbehaviours
- device behaviour classesproperties
- properties for configuration of device behaviour classespublic Driver merge(Driver other)
Driver
public java.lang.String name()
Driver
public java.lang.String manufacturer()
Driver
manufacturer
in interface Driver
public java.lang.String hwVersion()
Driver
public java.lang.String swVersion()
Driver
public Driver parent()
Driver
public java.util.List<Driver> parents()
Driver
public java.util.Set<java.lang.Class<? extends Behaviour>> behaviours()
Driver
behaviours
in interface Driver
public java.lang.Class<? extends Behaviour> implementation(java.lang.Class<? extends Behaviour> behaviour)
Driver
implementation
in interface Driver
behaviour
- behaviour interfacepublic boolean hasBehaviour(java.lang.Class<? extends Behaviour> behaviourClass)
Driver
hasBehaviour
in interface Driver
behaviourClass
- behaviour classpublic <T extends Behaviour> T createBehaviour(DriverData data, java.lang.Class<T> behaviourClass)
Driver
createBehaviour
in interface Driver
T
- type of behaviourdata
- driver data contextbehaviourClass
- driver behaviour classpublic <T extends Behaviour> T createBehaviour(DriverHandler handler, java.lang.Class<T> behaviourClass)
Driver
createBehaviour
in interface Driver
T
- type of behaviourhandler
- driver handler contextbehaviourClass
- driver behaviour classpublic java.util.Set<java.lang.String> keys()
Annotations
keys
in interface Annotations
public java.lang.String value(java.lang.String key)
Annotations
value
in interface Annotations
key
- annotation keypublic java.util.Map<java.lang.String,java.lang.String> properties()
Driver
properties
in interface Driver
public java.lang.String getProperty(java.lang.String name)
Driver
getProperty
in interface Driver
name
- property namepublic java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(java.lang.Object driverToBeCompared)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object