From 8efc513524c7d64e97df0cc8efce1f72f542f1fe Mon Sep 17 00:00:00 2001 From: rschoene <rene.schoene@tu-dresden.de> Date: Fri, 3 May 2019 10:08:01 +0200 Subject: [PATCH] Rename Item.sendState0 to Item.stateUpdated. - Also added some documentation - Resolves issue #15 --- eraser-base/src/main/jastadd/Item.jrag | 28 +++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/eraser-base/src/main/jastadd/Item.jrag b/eraser-base/src/main/jastadd/Item.jrag index 43e27802..4b8e1abe 100644 --- a/eraser-base/src/main/jastadd/Item.jrag +++ b/eraser-base/src/main/jastadd/Item.jrag @@ -235,35 +235,45 @@ aspect ItemHandling { public void ItemWithBooleanState.setState(boolean value, boolean shouldSendState) { if (isFrozen) { return; } set_state(value); - sendState0(shouldSendState); + stateUpdated(shouldSendState); } public void ItemWithStringState.setState(String value, boolean shouldSendState) { if (isFrozen) { return; } set_state(value); - sendState0(shouldSendState); + stateUpdated(shouldSendState); } public void ItemWithDoubleState.setState(double value, boolean shouldSendState) { if (isFrozen) { return; } set_state(value); - sendState0(shouldSendState); + stateUpdated(shouldSendState); } public void ColorItem.setState(TupleHSB value, boolean shouldSendState) { if (isFrozen) { return; } set_state(value); - sendState0(shouldSendState); + stateUpdated(shouldSendState); } public void DateTimeItem.setState(Date value, boolean shouldSendState) { if (isFrozen) { return; } set_state(value); - sendState0(shouldSendState); - } - - //--- sendState0 --- - protected void Item.sendState0(boolean shouldSendState) { + stateUpdated(shouldSendState); + } + + //--- stateUpdated --- + /** + * Called, whenever the state of an item is updated. Does various things including: + * <ul> + * <li>Send the new state via MQTT</li> + * <li>Send the new state to Influx DB</li> + * <li>Notify the attached {@link ItemObserver}, if any</li> + * <li>Update state of controlled items</li> + * </ul> + * @param shouldSendState whether to send the new state (currently affects MQTT and Influx) + */ + protected void Item.stateUpdated(boolean shouldSendState) { if (shouldSendState) { try { // sendState() defined in MQTT aspect -- GitLab