Interface ConnectionManager

All Known Implementing Classes:
ConnectionManagerImpl

public interface ConnectionManager
  • Method Details

    • getConnections

      <T extends Connection> Collection<T> getConnections(Class<T> connectionType, PluginContext context, Object... objects) throws ConnectionCannotBeObtained
      Returns a collection of connections between the objects specified, such that the type of the connection is assignable from the given connectionType (unless the parameter equals null). If no connections satisfying these criteria exist and the required type is specified and no required name is specified, then the global context searches for all available plugins with a ConnectionObjectFactory annotation, which can be executed in a child of the given PluginContext and accept the given objects as input If such plugins exist, the first of these plugins is selected and invoked on the given objects. The result is obtained from the plugin and a new connection is registered of the right type. This connection is then returned.
      Type Parameters:
      T - the type of the requested connection.
      Parameters:
      connectionType - The type of the object requested. This type can be null, in which case all types are considered.
      context - The context which requests the connection. If a plugin is invoked to create a connection, a child context of this context is instantiated
      objects - the objects which should be connected by the requested connection. There might be more objects involved in the connection
      Returns:
      A collection of connections of the requested type T. If no connection exists, an exception is thrown, hence the collection is never empty.
      Throws:
      ConnectionCannotBeObtained - if the requested connection does not exist and cannot be produced in the given context.
    • getFirstConnection

      <T extends Connection> T getFirstConnection(Class<T> connectionType, PluginContext context, Object... objects) throws ConnectionCannotBeObtained
      Returns a connection between the objects specified, such that the type of the connection is assignable from the given connectionType (unless the parameter equals null). If no connections satisfying these criteria exist and the required type is specified and no required name is specified, then the global context searches for all available plugins with a ConnectionObjectFactory annotation, which can be executed in a child of the given PluginContext and accept the given objects as input If such plugins exist, the first of these plugins is selected and invoked on the given objects. The result is obtained from the plugin and a new connection is registered of the right type. This connection is then returned.
      Type Parameters:
      T - the type of the requested connection.
      Parameters:
      connectionType - The type of the object requested. This type can be null, in which case all types are considered.
      context - The context which requests the connection. If a plugin is invoked to create a connection, a child context of this context is instantiated
      objects - the objects which should be connected by the requested connection. There might be more objects involved in the connection
      Returns:
      A connection of the requested type T. If no connection exists, an exception is thrown, hence null is never returned.
      Throws:
      ConnectionCannotBeObtained - if the requested connection does not exist and cannot be produced in the given context.
    • getConnection

      Returns the connection with the given ID.
      Parameters:
      id - the connection ID
      Returns:
      the connection with the given ID
      Throws:
      ConnectionCannotBeObtained
    • getConnectionListeners

      ConnectionObjectListener.ListenerList getConnectionListeners()
      Returns the list of registered connectionObject listeners
      Returns:
      the list of registered connectionObject listeners
    • getConnectionIDs

      Collection<ConnectionID> getConnectionIDs()
      Returns a collection of connection IDs registered to this global context.
      Returns:
      the ids of the registered connections
    • addConnection

      <T extends Connection> T addConnection(T connection)
      Adds the given connection to the framework.
      Parameters:
      connection - The connection to be registered
      Returns:
      the given parameter connection
    • isEnabled

      boolean isEnabled()
      Returns whether connections are enabled. If not, then connecitons will not be added.
      Returns:
      whether connections are enabled
    • setEnabled

      void setEnabled(boolean isEnabled)
      Sets whether connections are enabled.
      Parameters:
      isEnabled - whether connections should be enabled
    • clear

      void clear()