Class ConnectionManagerImpl

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T extends Connection>
      T
      addConnection​(T connection)
      Adds the given connection to the framework.
      void clear()  
      Connection getConnection​(ConnectionID id)
      Returns the connection with the given ID.
      java.util.Collection<ConnectionID> getConnectionIDs()
      Returns a collection of connection IDs registered to this global context.
      ConnectionObjectListener.ListenerList getConnectionListeners()
      Returns the list of registered connectionObject listeners
      <T extends Connection>
      java.util.Collection<T>
      getConnections​(java.lang.Class<T> connectionType, PluginContext context, java.lang.Object... objects)
      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).
      <T extends Connection>
      T
      getFirstConnection​(java.lang.Class<T> connectionType, PluginContext context, java.lang.Object... objects)
      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).
      boolean isEnabled()
      Returns whether connections are enabled.
      void setEnabled​(boolean isEnabled)
      Sets whether connections are enabled.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ConnectionManagerImpl

        public ConnectionManagerImpl​(PluginManager pluginManager)
    • Method Detail

      • isEnabled

        public boolean isEnabled()
        Description copied from interface: ConnectionManager
        Returns whether connections are enabled. If not, then connecitons will not be added.
        Specified by:
        isEnabled in interface ConnectionManager
        Returns:
        whether connections are enabled
      • setEnabled

        public void setEnabled​(boolean isEnabled)
        Description copied from interface: ConnectionManager
        Sets whether connections are enabled.
        Specified by:
        setEnabled in interface ConnectionManager
        Parameters:
        isEnabled - whether connections should be enabled
      • addConnection

        public <T extends Connection> T addConnection​(T connection)
        Description copied from interface: ConnectionManager
        Adds the given connection to the framework.
        Specified by:
        addConnection in interface ConnectionManager
        Parameters:
        connection - The connection to be registered
        Returns:
        the given parameter connection
      • getFirstConnection

        public <T extends Connection> T getFirstConnection​(java.lang.Class<T> connectionType,
                                                           PluginContext context,
                                                           java.lang.Object... objects)
                                                    throws ConnectionCannotBeObtained
        Description copied from interface: ConnectionManager
        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.
        Specified by:
        getFirstConnection in interface ConnectionManager
        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.
      • getConnections

        public <T extends Connection> java.util.Collection<T> getConnections​(java.lang.Class<T> connectionType,
                                                                             PluginContext context,
                                                                             java.lang.Object... objects)
                                                                      throws ConnectionCannotBeObtained
        Description copied from interface: ConnectionManager
        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.
        Specified by:
        getConnections in interface ConnectionManager
        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.
      • getConnectionIDs

        public java.util.Collection<ConnectionID> getConnectionIDs()
        Description copied from interface: ConnectionManager
        Returns a collection of connection IDs registered to this global context.
        Specified by:
        getConnectionIDs in interface ConnectionManager
        Returns:
        the ids of the registered connections