org.ijsberg.iglu.configuration
Interface Cluster

All Superinterfaces:
Connector
All Known Implementing Classes:
StandardCluster

public interface Cluster
extends Connector

A cluster represents a group of interconnected components. A cluster contains internal components that are considered to be part of a layer or subsystem. Internal components may access any interface of other internal components in the cluster. Proxies for component interfaces are exchanged and injected upon connection.

A cluster may be accessed as facade to which external components can connect. Internal components may expose certain interfaces through the facade boundary to external components. Proxies for these interfaces will be injected upon connection of an external component. An external component is considered as an anonymous, untrusted consumer of the cluster's services. Proxies for external component interfaces are not injected in internal components.

Author:
jmeetsma

Method Summary
 void connect(String componentId, Component component, Class<?>... exposedInterfaces)
          Connects internal component and exposes interfaces.
 void expose(String internalComponentId, Class<?>... interfaces)
          Updates exposure of interfaces of an internal component.
 Set<Component> getExternalComponents()
           
 Facade getFacade()
           
 Map<String,Component> getInternalComponents()
           
 
Methods inherited from interface org.ijsberg.iglu.configuration.Connector
connect, disconnect
 

Method Detail

getInternalComponents

Map<String,Component> getInternalComponents()
Returns:
a map of connected internal components, keyed by component ID

getExternalComponents

Set<Component> getExternalComponents()
Returns:
a set of connected external components

connect

void connect(String componentId,
             Component component,
             Class<?>... exposedInterfaces)
Connects internal component and exposes interfaces.

Parameters:
componentId -
component -
exposedInterfaces -

expose

void expose(String internalComponentId,
            Class<?>... interfaces)
Updates exposure of interfaces of an internal component.

Parameters:
internalComponentId -
interfaces -

getFacade

Facade getFacade()
Returns:
a facade that represents the cluster


Copyright © 2011. All Rights Reserved.