Interface ConnectionManager
- All Known Implementing Classes:
ConnectionManagerImpl
public interface ConnectionManager
-
Method Summary
Modifier and TypeMethodDescription<T extends Connection>
TaddConnection
(T connection) Adds the given connection to the framework.void
clear()
Returns the connection with the given ID.Returns a collection of connection IDs registered to this global context.Returns the list of registered connectionObject listeners<T extends Connection>
Collection<T>getConnections
(Class<T> connectionType, PluginContext context, 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>
TgetFirstConnection
(Class<T> connectionType, PluginContext context, 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
Returns whether connections are enabled.void
setEnabled
(boolean isEnabled) Sets whether connections are enabled.
-
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 instantiatedobjects
- 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 instantiatedobjects
- 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
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()
-