Interface EventContextInterface
- All Superinterfaces:
Remote
- All Known Subinterfaces:
EventContext
,RemoteEventContextInterface
- All Known Implementing Classes:
InitialEventContext
,RemoteEventContext
EventContextInterface specifies the subscription methods for a part of the context tree. The ContextScope in each method
indicates for which part of the tree notifications will be triggered. The listeners will be subscribed to three events for
the part of the context: OBJECT_ADDED_EVENT, OBJECT_REMOVED_EVENT and OBJECT_CHANGED_EVENT.
Copyright (c) 2020-2024 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://simulation.tudelft.nl. The DSOL project is distributed under a three-clause BSD-style license, which can be found at https://https://simulation.tudelft.nl/dsol/docs/latest/license.html.
- Author:
- Alexander Verbraeck
-
Method Summary
Modifier and TypeMethodDescriptionboolean
addListener
(org.djutils.event.EventListener listener, String absolutePath, ContextScope contextScope) Add a listener for the provided scope as strong reference to the BEGINNING of a queue of listeners.boolean
addListener
(org.djutils.event.EventListener listener, String absolutePath, ContextScope contextScope, int position) Add a listener for the provided scope as strong reference to the specified position of a queue of listeners.boolean
addListener
(org.djutils.event.EventListener listener, String absolutePath, ContextScope contextScope, int position, org.djutils.event.reference.ReferenceType referenceType) Add a listener for the provided scope to the specified position of a queue of listeners.boolean
addListener
(org.djutils.event.EventListener listener, String absolutePath, ContextScope contextScope, org.djutils.event.reference.ReferenceType referenceType) Add a listener for the provided scope to the BEGINNING of a queue of listeners.boolean
removeListener
(org.djutils.event.EventListener listener, String absolutePath, ContextScope contextScope) Remove the subscription of a listener for the provided scope for a specific event.
-
Method Details
-
addListener
boolean addListener(org.djutils.event.EventListener listener, String absolutePath, ContextScope contextScope) throws RemoteException, NameNotFoundException, InvalidNameException, NotContextException, NamingException, NullPointerException Add a listener for the provided scope as strong reference to the BEGINNING of a queue of listeners.- Parameters:
listener
- EventListener; the listener which is interested at events of eventType.absolutePath
- String; the absolute path of the context or object to subscribe tocontextScope
- ContextScope; the part of the tree that the listener is aimed at (current node, current node and keys, subtree).- Returns:
- the success of adding the listener. If a listener was already added false is returned.
- Throws:
NameNotFoundException
- when the absolutePath could not be found in the parent context, or when an intermediate context does not existInvalidNameException
- when the scope is OBJECT_SCOPE, but the key points to a (sub)contextNotContextException
- when the scope is LEVEL_SCOPE, OBJECT_LEVEL_SCOPE or SUBTREE_SCOPE, and the key points to an ordinary objectNamingException
- as an overarching exception for context errorsNullPointerException
- when one of the arguments is nullRemoteException
- if a network connection failure occurs.
-
addListener
boolean addListener(org.djutils.event.EventListener listener, String absolutePath, ContextScope contextScope, org.djutils.event.reference.ReferenceType referenceType) throws RemoteException, NameNotFoundException, InvalidNameException, NotContextException, NamingException, NullPointerException Add a listener for the provided scope to the BEGINNING of a queue of listeners.- Parameters:
listener
- EventListener; the listener which is interested at events of eventType.absolutePath
- String; the absolute path of the context or object to subscribe tocontextScope
- ContextScope; the part of the tree that the listener is aimed at (current node, current node and keys, subtree).referenceType
- ReferenceType; whether the listener is added as a strong or as a weak reference.- Returns:
- the success of adding the listener. If a listener was already added false is returned.
- Throws:
NameNotFoundException
- when the absolutePath could not be found in the parent context, or when an intermediate context does not existInvalidNameException
- when the scope is OBJECT_SCOPE, but the key points to a (sub)contextNotContextException
- when the scope is LEVEL_SCOPE, OBJECT_LEVEL_SCOPE or SUBTREE_SCOPE, and the key points to an ordinary objectNamingException
- as an overarching exception for context errorsNullPointerException
- when one of the arguments is nullRemoteException
- if a network connection failure occurs.
-
addListener
boolean addListener(org.djutils.event.EventListener listener, String absolutePath, ContextScope contextScope, int position) throws RemoteException, NameNotFoundException, InvalidNameException, NotContextException, NamingException, NullPointerException Add a listener for the provided scope as strong reference to the specified position of a queue of listeners.- Parameters:
listener
- EventListener; the listener which is interested at events of eventType.absolutePath
- String; the absolute path of the context or object to subscribe tocontextScope
- ContextScope; the part of the tree that the listener is aimed at (current node, current node and keys, subtree).position
- int; the position of the listener in the queue.- Returns:
- the success of adding the listener. If a listener was already added, or an illegal position is provided false is returned.
- Throws:
NameNotFoundException
- when the absolutePath could not be found in the parent context, or when an intermediate context does not existInvalidNameException
- when the scope is OBJECT_SCOPE, but the key points to a (sub)contextNotContextException
- when the scope is LEVEL_SCOPE, OBJECT_LEVEL_SCOPE or SUBTREE_SCOPE, and the key points to an ordinary objectNamingException
- as an overarching exception for context errorsNullPointerException
- when one of the arguments is nullRemoteException
- if a network connection failure occurs.
-
addListener
boolean addListener(org.djutils.event.EventListener listener, String absolutePath, ContextScope contextScope, int position, org.djutils.event.reference.ReferenceType referenceType) throws RemoteException, NameNotFoundException, InvalidNameException, NotContextException, NamingException, NullPointerException Add a listener for the provided scope to the specified position of a queue of listeners.- Parameters:
listener
- EventListener; which is interested at certain events,absolutePath
- String; the absolute path of the context or object to subscribe tocontextScope
- ContextScope; the part of the tree that the listener is aimed at (current node, current node and keys, subtree).position
- int; the position of the listener in the queuereferenceType
- ReferenceType; whether the listener is added as a strong or as a weak reference.- Returns:
- the success of adding the listener. If a listener was already added or an illegal position is provided false is returned.
- Throws:
NameNotFoundException
- when the absolutePath could not be found in the parent context, or when an intermediate context does not existInvalidNameException
- when the scope is OBJECT_SCOPE, but the key points to a (sub)contextNotContextException
- when the scope is LEVEL_SCOPE, OBJECT_LEVEL_SCOPE or SUBTREE_SCOPE, and the key points to an ordinary objectNamingException
- as an overarching exception for context errorsNullPointerException
- when one of the arguments is nullRemoteException
- if a network connection failure occurs.
-
removeListener
boolean removeListener(org.djutils.event.EventListener listener, String absolutePath, ContextScope contextScope) throws RemoteException, InvalidNameException, NullPointerException Remove the subscription of a listener for the provided scope for a specific event.- Parameters:
listener
- EventListener; which is no longer interested.absolutePath
- String; the absolute path of the context or object to subscribe tocontextScope
- ContextScope;the scope which is of no interest any more.- Returns:
- the success of removing the listener. If a listener was not subscribed false is returned.
- Throws:
InvalidNameException
- when the path does not start with a slashNullPointerException
- when one of the arguments is nullRemoteException
- if a network connection failure occurs
-