1 public interface LightBulb {
6 public boolean getState();
7 public void setColor(double _hue, double _saturation, double _brightness);
8 public void setTemperature(int _temperature);
9 public double getBrightness();
10 public double getHue();
11 public double getSaturation();
12 public int getTemperature();
13 public double getBrightnessRangeLowerBound();
14 public double getBrightnessRangeUpperBound();
15 public double getHueRangeLowerBound();
16 public double getHueRangeUpperBound();
17 public double getSaturationRangeLowerBound();
18 public double getSaturationRangeUpperBound();
19 public int getTemperatureRangeLowerBound();
20 public int getTemperatureRangeUpperBound();
22 capability Initialize {
23 description = "Initialize object";
28 description = "Turn on/off";
31 method = "getState()";
34 capability SetColorProperties {
35 description = "Get color properties";
36 method = "setColor(double _hue, double _saturation, double _brightness)";
37 method = "setTemperature(int _temperature)";
40 capability GetColorProperties {
41 description = "Set color properties";
42 method = "getBrightness()";
44 method = "getSaturation()";
45 method = "getTemperature()";
48 capability GetColorPropertiesRange {
49 description = "Get upper and lower bounds of color properties";
50 method = "setColor(double _hue, double _saturation, double _brightness)";
51 method = "getBrightnessRangeLowerBound()";
52 method = "getBrightnessRangeUpperBound()";
53 method = "getHueRangeLowerBound()";
54 method = "getHueRangeUpperBound()";
55 method = "getSaturationRangeLowerBound()";
56 method = "getSaturationRangeUpperBound()";
57 method = "getTemperatureRangeLowerBound()";
58 method = "getTemperatureRangeUpperBound()";