Package jmri.beans

Interface SilenceablePropertyChangeProvider

All Superinterfaces:
PropertyChangeProvider
All Known Subinterfaces:
AnalogIOManager, AudioManager, CatalogTreeManager, ConditionalManager, IdTagManager, LightManager, LogixManager, Manager<E>, MemoryManager, MeterManager, ProvidingManager<E>, ProxyManager<B>, RailComManager, ReporterManager, RouteManager, SensorManager, SignalGroupManager, SignalHeadManager, SignalMastLogicManager, SignalMastManager, SignalSystemManager, StringIOManager, TurnoutManager, VariableLightManager
All Known Implementing Classes:
AbstractAnalogIOManager, AbstractAudioManager, AbstractLightManager, AbstractManager, AbstractMemoryManager, AbstractMeterManager, AbstractProvidingProxyManager, AbstractProxyManager, AbstractReporterManager, AbstractSensorManager, AbstractSignalHeadManager, AbstractStringIOManager, AbstractTurnoutManager, AcelaLightManager, AcelaSensorManager, AcelaTurnoutManager, BlockManager, CbusLightManager, CbusReporterManager, CbusSensorManager, CbusTurnoutManager, ConcentratorReporterManager, ConcentratorSensorManager, Dcc4PcReporterManager, Dcc4PcSensorManager, DCCppLightManager, DCCppSensorManager, DCCppTurnoutManager, DefaultAudioManager, DefaultCatalogTreeManager, DefaultConditionalManager, DefaultIdTagManager, DefaultLogixManager, DefaultMemoryManager, DefaultRailComManager, DefaultRouteManager, DefaultSignalGroupManager, DefaultSignalMastLogicManager, DefaultSignalMastManager, DefaultSignalSystemManager, DefaultVariableLightManager, EasyDccTurnoutManager, EcosLocoAddressManager, EcosReporterManager, EcosSensorManager, EcosTurnoutManager, EliteXNetTurnoutManager, EntryExitPairs, InternalAnalogIOManager, InternalLightManager, InternalMeterManager, InternalReporterManager, InternalSensorManager, InternalStringIOManager, InternalTurnoutManager, IpocsLightManager, IpocsSensorManager, IpocsTurnoutManager, JMRIClientLightManager, JMRIClientReporterManager, JMRIClientSensorManager, JMRIClientTurnoutManager, LayoutBlockManager, LnLightManager, LnReporterManager, LnSensorManager, LnSensorManager, LnTurnoutManager, MarklinSensorManager, MarklinTurnoutManager, MqttLightManager, MqttSensorManager, MqttTurnoutManager, MrcTurnoutManager, Mx1TurnoutManager, NamedBeanHandleManager, NceLightManager, NceSensorManager, NceTurnoutManager, OBlockManager, OlcbLightManager, OlcbSensorManager, OlcbTurnoutManager, ProxyAnalogIOManager, ProxyIdTagManager, ProxyLightManager, ProxyMeterManager, ProxyReporterManager, ProxySensorManager, ProxyStringIOManager, ProxyTurnoutManager, RaspberryPiSensorManager, RaspberryPiTurnoutManager, RfidReporterManager, RfidSensorManager, RpsReporterManager, RpsSensorManager, SectionManager, SerialLightManager, SerialLightManager, SerialLightManager, SerialLightManager, SerialLightManager, SerialLightManager, SerialSensorManager, SerialSensorManager, SerialSensorManager, SerialSensorManager, SerialSensorManager, SerialSensorManager, SerialTurnoutManager, SerialTurnoutManager, SerialTurnoutManager, SerialTurnoutManager, SerialTurnoutManager, SerialTurnoutManager, SerialTurnoutManager, SpecificLightManager, SpecificLightManager, SpecificLightManager, SpecificLightManager, SpecificSensorManager, SpecificSensorManager, SpecificSensorManager, SpecificSensorManager, SprogTurnoutManager, SRCPSensorManager, SRCPTurnoutManager, StandaloneReporterManager, StandaloneSensorManager, TamsSensorManager, TamsTurnoutManager, TransitManager, TranspondingTagManager, UsbLightManager, WarrantManager, XBeeLightManager, XBeeSensorManager, XBeeTurnoutManager, XNetLightManager, XNetSensorManager, XNetTurnoutManager, XpaTurnoutManager, Z21ReporterManager, Z21SensorManager, Z21XNetTurnoutManager, ZTC611XNetTurnoutManager

public interface SilenceablePropertyChangeProvider
extends PropertyChangeProvider
Sometimes an external object needs to be able to mute property changes to prevent bottlenecks in constrained systems (e.g. when reading a file that may add a large number of Turnouts or Sensors to JMRI's internal representation of the model railroad).
  • Method Details

    • setPropertyChangesSilenced

      void setPropertyChangesSilenced​(@Nonnull String propertyName, boolean silenced)
      Suppress sending PropertyChangeEvents for the named property.

      Stopping the suppression of sending change events may send a PropertyChangeEvent if the property changed while silenced, but otherwise should not fire a PropertyChangeEvent.

      Parameters:
      propertyName - the name of the property to mute
      silenced - true if events are to be suppressed; false otherwise
      Throws:
      IllegalArgumentException - if propertyName represents a property that should not be silenced