public void clearConfigKeys() { Map<String, FieldAndValue<ConfigKey<?>>> oldKeys = MutableMap.copyOf(configKeys); configKeys.clear(); invalidateSnapshot(); for (FieldAndValue<ConfigKey<?>> k: oldKeys.values()) { instance.sensors().emit(AbstractEntity.CONFIG_KEY_REMOVED, k.value); } }
@Override @Deprecated public <T> void emit(Sensor<T> sensor, T val) { sensors().emit(sensor, val); }
private void onContainerDown(Entity oldContainer) { if (containers.remove(oldContainer)) { sensors().emit(CONTAINER_REMOVED, oldContainer); } }
private void onContainerDown(BalanceableContainer<?> oldContainer) { if (containers.remove(oldContainer)) { sensors().emit(CONTAINER_REMOVED, oldContainer); } }
@Override public void remove(Group group) { boolean changed = groupsInternal.remove(group); getApplication(); if (changed) { sensors().emit(AbstractEntity.GROUP_REMOVED, group); } } }
@Override public void add(Group group) { boolean changed = groupsInternal.add(group); getApplication(); if (changed) { sensors().emit(AbstractEntity.GROUP_ADDED, group); } }
/** * Removes the named {@link Sensor} from this entity. */ public Sensor<?> removeSensor(String sensorName) { Sensor<?> result = sensors.remove(sensorName); if (result != null) { invalidateSnapshot(); instance.sensors().emit(AbstractEntity.SENSOR_REMOVED, result); } return result; }
private void onItemRemoved(Entity item) { if (items.remove(item)) { subscriptions().unsubscribe(item); sensors().emit(ITEM_REMOVED, item); } }
/** * Adds the given {@link Sensor} to this entity. */ public void addSensor(Sensor<?> newSensor) { sensors.put(newSensor.getName(), newSensor); invalidateSnapshot(); instance.sensors().emit(AbstractEntity.SENSOR_ADDED, newSensor); }
private void onItemAdded(Entity item) { if (items.add(item)) { subscriptions().subscribe(item, Movable.CONTAINER, eventHandler); sensors().emit(ITEM_ADDED, item); } }
private void onContainerUp(BalanceableContainer<?> newContainer) { if (containers.add(newContainer)) { sensors().emit(CONTAINER_ADDED, newContainer); } }
private void onContainerUp(Entity newContainer) { if (containers.add(newContainer)) { sensors().emit(CONTAINER_ADDED, newContainer); } }
private void onItemRemoved(Entity item) { if (items.remove(item)) { subscriptions().unsubscribe(item); sensors().emit(ITEM_REMOVED, new ContainerItemPair(null, item)); } }
private void onItemAdded(Entity item) { if (items.add(item)) { subscriptions().subscribe(item, Movable.CONTAINER, eventHandler); sensors().emit(ITEM_ADDED, new ContainerItemPair(item.getAttribute(Movable.CONTAINER), item)); } }
@Override public boolean remove(Policy policy) { ((AbstractPolicy)policy).destroy(); boolean changed = policiesInternal.remove(policy); if (changed) { getManagementSupport().getEntityChangeListener().onPolicyRemoved(policy); sensors().emit(AbstractEntity.POLICY_REMOVED, new PolicyDescriptor(policy)); } return changed; }
public void addSensorIfAbsent(Sensor<?> newSensor) { Sensor<?> prev = addSensorIfAbsentWithoutPublishing(newSensor); if (prev == null) { instance.sensors().emit(AbstractEntity.SENSOR_ADDED, newSensor); } }
/** * Adds the given {@link ConfigKey} to this entity. */ public void addConfigKey(ConfigKey<?> newKey) { configKeys.put(newKey.getName(), new FieldAndValue<ConfigKey<?>>(null, newKey)); invalidateSnapshot(); instance.sensors().emit(AbstractEntity.CONFIG_KEY_ADDED, newKey); }
@Override public void removeItem(Entity item) { if (LOG.isDebugEnabled()) LOG.debug("Mocks: removing item {} from container {}", item, this); if (!running) throw new IllegalStateException("Container "+getDisplayName()+" is not running; cannot remove item "+item); removeMember(item); sensors().emit(ITEM_REMOVED, item); }
/** * Adds the given {@link Effector} to this entity. */ @Beta public void addEffector(Effector<?> newEffector) { Effector<?> oldEffector = effectors.put(Preconditions.checkNotNull(newEffector.getName(), "Missing 'name' for effector"), newEffector); invalidateSnapshot(); if (oldEffector!=null) instance.sensors().emit(AbstractEntity.EFFECTOR_CHANGED, newEffector.getName()); else instance.sensors().emit(AbstractEntity.EFFECTOR_ADDED, newEffector.getName()); }
@Override public void setAge(Integer age) { sensors().set(AGE, age); sensors().emit(ITS_MY_BIRTHDAY, null); } }