Package io.joynr.provider
Class AbstractSubscriptionPublisher
- java.lang.Object
-
- io.joynr.provider.AbstractSubscriptionPublisher
-
- All Implemented Interfaces:
SubscriptionPublisher,SubscriptionPublisherObservable
- Direct Known Subclasses:
AccessControlListEditorSubscriptionPublisherImpl,DiscoverySubscriptionPublisherImpl,GlobalCapabilitiesDirectorySubscriptionPublisherImpl,MessageNotificationSubscriptionPublisherImpl,ProviderReregistrationControllerSubscriptionPublisherImpl,RoutingSubscriptionPublisherImpl
public abstract class AbstractSubscriptionPublisher extends Object implements SubscriptionPublisherObservable, SubscriptionPublisher
-
-
Field Summary
Fields Modifier and Type Field Description protected ConcurrentHashMap<String,List<BroadcastFilter>>broadcastFilters
-
Constructor Summary
Constructors Constructor Description AbstractSubscriptionPublisher()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddBroadcastFilter(BroadcastFilterImpl filter)Adds a broadcast filter to the provider.voidaddBroadcastFilter(BroadcastFilterImpl... filters)Adds multiple broadcast filters to the provider.protected voidfireBroadcast(String broadcastName, List<BroadcastFilter> broadcastFilters, Object... values)Called by generated<Interface>AbstractProviderclasses to notify all registered listeners about the fired broadcast.protected voidfireMulticast(String multicastName, String[] partitions, Object... values)Called by generated<Interface>AbstractProviderclasses to notify all registered multicast listeners about the fired multicast.protected voidonAttributeValueChanged(String attributeName, Object value)Called by generated<Interface>AbstractProviderclasses to notify all registered listeners about the attribute change.voidregisterAttributeListener(String attributeName, AttributeListener attributeListener)Registers an attribute listener that gets notified in case the attribute changes.voidregisterBroadcastListener(String broadcastName, BroadcastListener broadcastListener)Registers a broadcast listener that gets notified in case the broadcast is fired.voidregisterMulticastListener(MulticastListener multicastListener)Registers a multicast listener which will be notified anytime a multicast is fired.voidunregisterAttributeListener(String attributeName, AttributeListener attributeListener)Unregisters an attribute listener.voidunregisterBroadcastListener(String broadcastName, BroadcastListener broadcastListener)Unregisters a broadcast listener.voidunregisterMulticastListener(MulticastListener multicastListener)Unregisters a listener previously registered withSubscriptionPublisherObservable.registerMulticastListener(MulticastListener)}.
-
-
-
Field Detail
-
broadcastFilters
protected ConcurrentHashMap<String,List<BroadcastFilter>> broadcastFilters
-
-
Method Detail
-
onAttributeValueChanged
protected void onAttributeValueChanged(String attributeName, Object value)
Called by generated<Interface>AbstractProviderclasses to notify all registered listeners about the attribute change.NOTE: Provider implementations should _not_ call this method but use attribute specific
<Interface>AbstractProvider.<attribute>Changedmethods.- Parameters:
attributeName- the attribute name as defined in the Franca model.value- the new value of the changed attribute.
-
fireBroadcast
protected void fireBroadcast(String broadcastName, List<BroadcastFilter> broadcastFilters, Object... values)
Called by generated<Interface>AbstractProviderclasses to notify all registered listeners about the fired broadcast.NOTE: Provider implementations should _not_ call this method but use broadcast specific
<Interface>AbstractProvider.fire<Broadcast>methods.- Parameters:
broadcastName- the broadcast name as defined in the Franca model.broadcastFilters- the list of filters to apply.values- the broadcast arguments.
-
fireMulticast
protected void fireMulticast(String multicastName, String[] partitions, Object... values)
Called by generated<Interface>AbstractProviderclasses to notify all registered multicast listeners about the fired multicast.NOTE: Provider implementations should _not_ call this method but use multicast specific
<Interface>AbstractProvider.fire<Multicast>methods.- Parameters:
multicastName- the multicast name as defined in the Franca model (as a non-selective broadcast).partitions- the partitions which will be used in transmitting the multicastvalues- the broadcast arguments.
-
registerAttributeListener
public void registerAttributeListener(String attributeName, AttributeListener attributeListener)
Registers an attribute listener that gets notified in case the attribute changes. This is used for on change subscriptions.- Specified by:
registerAttributeListenerin interfaceSubscriptionPublisherObservable- Parameters:
attributeName- the attribute name as defined in the Franca model to subscribe to.attributeListener- the listener to add.
-
unregisterAttributeListener
public void unregisterAttributeListener(String attributeName, AttributeListener attributeListener)
Unregisters an attribute listener.- Specified by:
unregisterAttributeListenerin interfaceSubscriptionPublisherObservable- Parameters:
attributeName- the attribute name as defined in the Franca model to unsubscribe from.attributeListener- the listener to remove.
-
registerBroadcastListener
public void registerBroadcastListener(String broadcastName, BroadcastListener broadcastListener)
Registers a broadcast listener that gets notified in case the broadcast is fired.- Specified by:
registerBroadcastListenerin interfaceSubscriptionPublisherObservable- Parameters:
broadcastName- the broadcast name as defined in the Franca model to subscribe to.broadcastListener- the listener to add.
-
unregisterBroadcastListener
public void unregisterBroadcastListener(String broadcastName, BroadcastListener broadcastListener)
Unregisters a broadcast listener.- Specified by:
unregisterBroadcastListenerin interfaceSubscriptionPublisherObservable- Parameters:
broadcastName- the broadcast name as defined in the Franca model to unsubscribe from.broadcastListener- the listener to remove.
-
registerMulticastListener
public void registerMulticastListener(MulticastListener multicastListener)
Description copied from interface:SubscriptionPublisherObservableRegisters a multicast listener which will be notified anytime a multicast is fired.- Specified by:
registerMulticastListenerin interfaceSubscriptionPublisherObservable- Parameters:
multicastListener- the listener to register.
-
unregisterMulticastListener
public void unregisterMulticastListener(MulticastListener multicastListener)
Description copied from interface:SubscriptionPublisherObservableUnregisters a listener previously registered withSubscriptionPublisherObservable.registerMulticastListener(MulticastListener)}. If the listener passed in was not previously registered or has already been unregistered, then this is a no-op.- Specified by:
unregisterMulticastListenerin interfaceSubscriptionPublisherObservable- Parameters:
multicastListener- the listener to unregister.
-
addBroadcastFilter
public void addBroadcastFilter(BroadcastFilterImpl filter)
Adds a broadcast filter to the provider. The filter is specific for a single broadcast as defined in the Franca model. It will be executed once for each subscribed client whenever the broadcast is fired. Clients set individual filter parameters to control filter behavior.- Specified by:
addBroadcastFilterin interfaceSubscriptionPublisher- Parameters:
filter- the filter to add.
-
addBroadcastFilter
public void addBroadcastFilter(BroadcastFilterImpl... filters)
Adds multiple broadcast filters to the provider.- Specified by:
addBroadcastFilterin interfaceSubscriptionPublisher- Parameters:
filters- the filters to add.- See Also:
addBroadcastFilter(BroadcastFilterImpl filter)
-
-