Interface EventContextInterface

All Superinterfaces:
Remote
All Known Subinterfaces:
EventContext, RemoteEventContextInterface
All Known Implementing Classes:
InitialEventContext, RemoteEventContext

public interface EventContextInterface extends Remote
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 Type
    Method
    Description
    boolean
    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 to
      contextScope - 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 exist
      InvalidNameException - when the scope is OBJECT_SCOPE, but the key points to a (sub)context
      NotContextException - when the scope is LEVEL_SCOPE, OBJECT_LEVEL_SCOPE or SUBTREE_SCOPE, and the key points to an ordinary object
      NamingException - as an overarching exception for context errors
      NullPointerException - when one of the arguments is null
      RemoteException - 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 to
      contextScope - 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 exist
      InvalidNameException - when the scope is OBJECT_SCOPE, but the key points to a (sub)context
      NotContextException - when the scope is LEVEL_SCOPE, OBJECT_LEVEL_SCOPE or SUBTREE_SCOPE, and the key points to an ordinary object
      NamingException - as an overarching exception for context errors
      NullPointerException - when one of the arguments is null
      RemoteException - 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 to
      contextScope - 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 exist
      InvalidNameException - when the scope is OBJECT_SCOPE, but the key points to a (sub)context
      NotContextException - when the scope is LEVEL_SCOPE, OBJECT_LEVEL_SCOPE or SUBTREE_SCOPE, and the key points to an ordinary object
      NamingException - as an overarching exception for context errors
      NullPointerException - when one of the arguments is null
      RemoteException - 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 to
      contextScope - 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
      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 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 exist
      InvalidNameException - when the scope is OBJECT_SCOPE, but the key points to a (sub)context
      NotContextException - when the scope is LEVEL_SCOPE, OBJECT_LEVEL_SCOPE or SUBTREE_SCOPE, and the key points to an ordinary object
      NamingException - as an overarching exception for context errors
      NullPointerException - when one of the arguments is null
      RemoteException - 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 to
      contextScope - 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 slash
      NullPointerException - when one of the arguments is null
      RemoteException - if a network connection failure occurs