Class FloatCharacteristic
- java.lang.Object
-
- io.github.hapjava.characteristics.impl.base.BaseCharacteristic<Double>
-
- io.github.hapjava.characteristics.impl.base.FloatCharacteristic
-
- All Implemented Interfaces:
Characteristic,EventableCharacteristic
- Direct Known Subclasses:
CarbonDioxideLevelCharacteristic,CarbonDioxidePeakLevelCharacteristic,CarbonMonoxideLevelCharacteristic,CarbonMonoxidePeakLevelCharacteristic,CoolingThresholdTemperatureCharacteristic,CurrentAmbientLightLevelCharacteristic,CurrentRelativeHumidityCharacteristic,CurrentTemperatureCharacteristic,FilterLifeLevelCharacteristic,HeatingThresholdTemperatureCharacteristic,HueCharacteristic,HumidityDehumidifierThresholdCharacteristic,HumidityHumidifierThresholdCharacteristic,NitrogenDioxideDensityCharacteristic,OzoneDensityCharacteristic,PM10DensityCharacteristic,PM25DensityCharacteristic,RotationSpeedCharacteristic,SaturationCharacteristic,SulphurDioxideDensityCharacteristic,TargetRelativeHumidityCharacteristic,TargetTemperatureCharacteristic,VOCDensityCharacteristic,WaterLavelCharacteristic
public abstract class FloatCharacteristic extends BaseCharacteristic<Double>
A characteristic that provides a Float value type.- Author:
- Andy Lintner
-
-
Constructor Summary
Constructors Constructor Description FloatCharacteristic(String type, String description, double minValue, double maxValue, double minStep, String unit, Optional<Supplier<CompletableFuture<Double>>> getter, Optional<ExceptionalConsumer<Double>> setter, Optional<Consumer<HomekitCharacteristicChangeCallback>> subscriber, Optional<Runnable> unsubscriber)Default constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Doubleconvert(javax.json.JsonValue jsonValue)Converts from the JSON value to a Java object of the type TDoublegetDefault()Supplies a default value for the characteristic to send to connected clients when the real value.protected CompletableFuture<Double>getValue()Retrieves the current value of the characteristic.protected CompletableFuture<javax.json.JsonObjectBuilder>makeBuilder(int iid)Creates the JSON serialized form of the accessory for use over the HomeKit Accessory Protocol.protected voidsetValue(Double value)Update the characteristic value using a new value supplied by the connected client.-
Methods inherited from class io.github.hapjava.characteristics.impl.base.BaseCharacteristic
setJsonValue, setValue, subscribe, supplyValue, toJson, unsubscribe
-
-
-
-
Constructor Detail
-
FloatCharacteristic
public FloatCharacteristic(String type, String description, double minValue, double maxValue, double minStep, String unit, Optional<Supplier<CompletableFuture<Double>>> getter, Optional<ExceptionalConsumer<Double>> setter, Optional<Consumer<HomekitCharacteristicChangeCallback>> subscriber, Optional<Runnable> unsubscriber)
Default constructor- Parameters:
type- a string containing a UUID that indicates the type of characteristic. Apple defines a set of these, however implementors can create their own as well.description- a description of the characteristic to be passed to the consuming device.minValue- the minimum supported value.maxValue- the maximum supported valueminStep- the smallest supported step. Values will be rounded to a multiple of this.unit- a description of the unit this characteristic supports.getter- getter to retrieve the valuesetter- setter to set valuesubscriber- subscriber to subscribe to changesunsubscriber- unsubscriber to unsubscribe from chnages
-
-
Method Detail
-
makeBuilder
protected CompletableFuture<javax.json.JsonObjectBuilder> makeBuilder(int iid)
Creates the JSON serialized form of the accessory for use over the HomeKit Accessory Protocol.- Overrides:
makeBuilderin classBaseCharacteristic<Double>- Parameters:
iid- the static id of the accessory.- Returns:
- a future that will complete with the JSON builder for the object.
-
convert
protected Double convert(javax.json.JsonValue jsonValue)
Converts from the JSON value to a Java object of the type T- Specified by:
convertin classBaseCharacteristic<Double>- Parameters:
jsonValue- the JSON value to convert from.- Returns:
- the converted Java object.
-
getValue
protected final CompletableFuture<Double> getValue()
Retrieves the current value of the characteristic.. Calls the getDoubleValue method and applies rounding to the minStep supplied in the constructor.- Specified by:
getValuein classBaseCharacteristic<Double>- Returns:
- a future that will complete with the current value.
-
setValue
protected void setValue(Double value) throws Exception
Description copied from class:BaseCharacteristicUpdate the characteristic value using a new value supplied by the connected client.- Specified by:
setValuein classBaseCharacteristic<Double>- Parameters:
value- the new value to set.- Throws:
Exception- if the value cannot be set.
-
getDefault
public Double getDefault()
Supplies a default value for the characteristic to send to connected clients when the real value. cannot be retrieved.- Specified by:
getDefaultin classBaseCharacteristic<Double>- Returns:
- a sensible default value.
-
-