Package org.openhab.core.common.registry
Class AbstractProvider<E>
java.lang.Object
org.openhab.core.common.registry.AbstractProvider<E>
- Type Parameters:
E- type of the provided elements
- All Implemented Interfaces:
Provider<E>
- Direct Known Subclasses:
AbstractManagedProvider,ScriptedItemChannelLinkProvider,ScriptedItemProvider,ScriptedMetadataProvider,ScriptedRuleProvider,ScriptedThingProvider
@NonNullByDefault
public abstract class AbstractProvider<@NonNull E>
extends Object
implements Provider<E>
AbstractProvider can be used as base class for Provider implementations. It supports the registration
and notification of listeners.- Author:
- Dennis Nobel - Initial contribution
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddProviderChangeListener(ProviderChangeListener<@NonNull E> listener) Adds aProviderChangeListenerwhich must be notified if there are changes concerning the elements provided by theProvider.protected voidnotifyListenersAboutAddedElement(@NonNull E element) protected voidnotifyListenersAboutRemovedElement(@NonNull E element) protected voidnotifyListenersAboutUpdatedElement(@NonNull E oldElement, @NonNull E element) voidremoveProviderChangeListener(ProviderChangeListener<@NonNull E> listener) Removes aProviderChangeListener.
-
Field Details
-
listeners
-
-
Constructor Details
-
AbstractProvider
public AbstractProvider()
-
-
Method Details
-
addProviderChangeListener
Description copied from interface:ProviderAdds aProviderChangeListenerwhich must be notified if there are changes concerning the elements provided by theProvider.- Specified by:
addProviderChangeListenerin interfaceProvider<E>- Parameters:
listener- the listener to be added
-
removeProviderChangeListener
Description copied from interface:ProviderRemoves aProviderChangeListener.- Specified by:
removeProviderChangeListenerin interfaceProvider<E>- Parameters:
listener- the listener to be removed.
-
notifyListenersAboutAddedElement
-
notifyListenersAboutRemovedElement
-
notifyListenersAboutUpdatedElement
-