org.mule.registry
Class MuleRegistryHelper

java.lang.Object
  extended by org.mule.registry.MuleRegistryHelper
All Implemented Interfaces:
Disposable, Initialisable, MuleRegistry, Registry

public class MuleRegistryHelper
extends Object
implements MuleRegistry, Initialisable, Disposable

Adds lookup/register/unregister methods for Mule-specific entities to the standard Registry interface. TODO MULE-2228 "Java-based configuration mechanism for Mule 2.0" will extend/build upon this interface.


Field Summary
protected  Map exactTransformerCache
           
protected  Log logger
           
protected  Map transformerListCache
           
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Constructor Summary
MuleRegistryHelper(Registry registry)
           
 
Method Summary
protected  ServiceDescriptor createServiceDescriptor(String type, String name, Properties overrides)
          Deprecated. ServiceDescriptors will be created upon bundle startup for OSGi.
 void dispose()
          A lifecycle method where implementor should free up any resources.
 Collection getAgents()
           
 Collection getConnectors()
           
 Collection getEndpoints()
           
 Collection getModels()
           
protected  String getName(Object obj)
           
protected  Transformer getNearestTransformerMatch(List trans, Class input, Class output)
           
 String getRegistryId()
           
 Collection getTransformers()
           
 void initialise()
          Method used to perform any initialisation work.
 boolean isReadOnly()
           
 boolean isRemote()
           
 Agent lookupAgent(String name)
           
 Connector lookupConnector(String name)
           
 ImmutableEndpoint lookupEndpoint(String name)
          Removed this method from Registry API as it should only be used internally and may confuse users.
 EndpointBuilder lookupEndpointBuilder(String name)
          Looks-up endpoint builders which can be used to repeatably create endpoints with the same configuration.
 EndpointFactory lookupEndpointFactory()
           
 Model lookupModel(String name)
           
 Object lookupObject(Class type)
          Look up a single object by type.
 Object lookupObject(String key)
          Look up a single object by name.
 Collection lookupObjects(Class type)
          Look up all objects of a given type.
 Service lookupService(String name)
           
 ServiceDescriptor lookupServiceDescriptor(String type, String name, Properties overrides)
          Looks up the service descriptor from a singleton cache and creates a new one if not found.
 Collection lookupServices()
           
 Collection lookupServices(String model)
           
 Model lookupSystemModel()
           
 Transformer lookupTransformer(Class inputType, Class outputType)
          Will find a transformer that is the closest match to the desired input and output.
 Transformer lookupTransformer(String name)
           
 List lookupTransformers(Class input, Class output)
          This method will return a list of Transformer objects that accept the given input and return the given output type of object
 void registerAgent(Agent agent)
           
 void registerConnector(Connector connector)
           
 void registerEndpoint(ImmutableEndpoint endpoint)
           
 void registerEndpointBuilder(String name, EndpointBuilder builder)
           
 void registerModel(Model model)
           
 void registerObject(String key, Object value)
           
 void registerObject(String key, Object value, Object metadata)
           
 void registerObjects(Map objects)
           
 void registerService(Service service)
           
 void registerTransformer(Transformer transformer)
           
 void unregisterAgent(String agentName)
           
 void unregisterConnector(String connectorName)
           
 void unregisterEndpoint(String endpointName)
           
 void unregisterModel(String modelName)
           
 void unregisterObject(String key)
           
 void unregisterObject(String key, Object metadata)
           
 void unregisterService(String serviceName)
           
 void unregisterTransformer(String transformerName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

transformerListCache

protected Map transformerListCache

exactTransformerCache

protected Map exactTransformerCache

logger

protected transient Log logger
Constructor Detail

MuleRegistryHelper

public MuleRegistryHelper(Registry registry)
Method Detail

initialise

public void initialise()
                throws InitialisationException
Description copied from interface: Initialisable
Method used to perform any initialisation work. If a fatal error occurs during initialisation an InitialisationException should be thrown, causing the Mule instance to shutdown. If the error is recoverable, say by retrying to connect, a RecoverableException should be thrown. There is no guarantee that by throwing a Recoverable exception that the Mule instance will not shut down.

Specified by:
initialise in interface Initialisable
Throws:
InitialisationException - if a fatal error occurs causing the Mule instance to shutdown
RecoverableException - if an error occurs that can be recovered from

dispose

public void dispose()
Description copied from interface: Disposable
A lifecycle method where implementor should free up any resources. If an exception is thrown it should just be logged and processing should continue. This method should not throw Runtime exceptions.

Specified by:
dispose in interface Disposable

lookupConnector

public Connector lookupConnector(String name)
Specified by:
lookupConnector in interface MuleRegistry

lookupEndpoint

public ImmutableEndpoint lookupEndpoint(String name)
Removed this method from Registry API as it should only be used internally and may confuse users. The EndpointFactory should be used for creating endpoints.

Looks up an returns endpoints registered in the registry by their idendifier (currently endpoint name)

NOTE: This method does not create new endpoint instances, but rather returns existing endpoint instances that have been registered. This lookup method should be avoided and the intelligent, role specific endpoint lookup methods should be used instead.

Parameters:
name - the idendtifer/name used to register endpoint in registry

lookupEndpointBuilder

public EndpointBuilder lookupEndpointBuilder(String name)
Description copied from interface: MuleRegistry
Looks-up endpoint builders which can be used to repeatably create endpoints with the same configuration. These endpoint builder are either global endpoints or they are builders used to create named endpoints configured on routers and exception strategies.

Specified by:
lookupEndpointBuilder in interface MuleRegistry

lookupEndpointFactory

public EndpointFactory lookupEndpointFactory()
Specified by:
lookupEndpointFactory in interface MuleRegistry

lookupTransformer

public Transformer lookupTransformer(String name)
Specified by:
lookupTransformer in interface MuleRegistry

lookupTransformer

public Transformer lookupTransformer(Class inputType,
                                     Class outputType)
                              throws TransformerException
Will find a transformer that is the closest match to the desired input and output.

Specified by:
lookupTransformer in interface MuleRegistry
Parameters:
inputType - The desiered input type for the transformer
outputType - the desired output type for the transformer
Returns:
A transformer that exactly matches or the will accept the input and output parameters
Throws:
TransformerException - will be thrown if there is more than one match

getNearestTransformerMatch

protected Transformer getNearestTransformerMatch(List trans,
                                                 Class input,
                                                 Class output)
                                          throws TransformerException
Throws:
TransformerException

lookupTransformers

public List lookupTransformers(Class input,
                               Class output)
This method will return a list of Transformer objects that accept the given input and return the given output type of object

Specified by:
lookupTransformers in interface MuleRegistry
Parameters:
input - The desiered input type for the transformer
output - the desired output type for the transformer
Returns:
a list of matching transformers. If there were no matchers an empty list is returned.

lookupModel

public Model lookupModel(String name)
Specified by:
lookupModel in interface MuleRegistry

lookupSystemModel

public Model lookupSystemModel()
Specified by:
lookupSystemModel in interface MuleRegistry

getModels

public Collection getModels()
Specified by:
getModels in interface MuleRegistry

getConnectors

public Collection getConnectors()
Specified by:
getConnectors in interface MuleRegistry

getAgents

public Collection getAgents()
Specified by:
getAgents in interface MuleRegistry

getEndpoints

public Collection getEndpoints()
Specified by:
getEndpoints in interface MuleRegistry

getTransformers

public Collection getTransformers()
Specified by:
getTransformers in interface MuleRegistry

lookupAgent

public Agent lookupAgent(String name)
Specified by:
lookupAgent in interface MuleRegistry

lookupService

public Service lookupService(String name)
Specified by:
lookupService in interface MuleRegistry

lookupServices

public Collection lookupServices()
Specified by:
lookupServices in interface MuleRegistry

lookupServices

public Collection lookupServices(String model)
Specified by:
lookupServices in interface MuleRegistry

registerTransformer

public final void registerTransformer(Transformer transformer)
                               throws MuleException
Specified by:
registerTransformer in interface MuleRegistry
Throws:
MuleException

lookupServiceDescriptor

public ServiceDescriptor lookupServiceDescriptor(String type,
                                                 String name,
                                                 Properties overrides)
                                          throws ServiceException
Looks up the service descriptor from a singleton cache and creates a new one if not found.

Specified by:
lookupServiceDescriptor in interface MuleRegistry
Throws:
ServiceException

createServiceDescriptor

protected ServiceDescriptor createServiceDescriptor(String type,
                                                    String name,
                                                    Properties overrides)
                                             throws ServiceException
Deprecated. ServiceDescriptors will be created upon bundle startup for OSGi.

Throws:
ServiceException

registerAgent

public void registerAgent(Agent agent)
                   throws MuleException
Specified by:
registerAgent in interface MuleRegistry
Throws:
MuleException

registerConnector

public void registerConnector(Connector connector)
                       throws MuleException
Specified by:
registerConnector in interface MuleRegistry
Throws:
MuleException

registerEndpoint

public void registerEndpoint(ImmutableEndpoint endpoint)
                      throws MuleException
Specified by:
registerEndpoint in interface MuleRegistry
Throws:
MuleException

registerEndpointBuilder

public void registerEndpointBuilder(String name,
                                    EndpointBuilder builder)
                             throws MuleException
Specified by:
registerEndpointBuilder in interface MuleRegistry
Throws:
MuleException

registerModel

public void registerModel(Model model)
                   throws MuleException
Specified by:
registerModel in interface MuleRegistry
Throws:
MuleException

registerService

public void registerService(Service service)
                     throws MuleException
Specified by:
registerService in interface MuleRegistry
Throws:
MuleException

unregisterService

public void unregisterService(String serviceName)
                       throws MuleException
Specified by:
unregisterService in interface MuleRegistry
Throws:
MuleException

unregisterAgent

public void unregisterAgent(String agentName)
                     throws MuleException
Specified by:
unregisterAgent in interface MuleRegistry
Throws:
MuleException

unregisterConnector

public void unregisterConnector(String connectorName)
                         throws MuleException
Specified by:
unregisterConnector in interface MuleRegistry
Throws:
MuleException

unregisterEndpoint

public void unregisterEndpoint(String endpointName)
                        throws MuleException
Specified by:
unregisterEndpoint in interface MuleRegistry
Throws:
MuleException

unregisterModel

public void unregisterModel(String modelName)
                     throws MuleException
Specified by:
unregisterModel in interface MuleRegistry
Throws:
MuleException

unregisterTransformer

public void unregisterTransformer(String transformerName)
                           throws MuleException
Specified by:
unregisterTransformer in interface MuleRegistry
Throws:
MuleException

lookupObject

public Object lookupObject(Class type)
                    throws RegistrationException
Description copied from interface: Registry
Look up a single object by type.

Specified by:
lookupObject in interface Registry
Returns:
object or null if not found
Throws:
RegistrationException - if more than one object is found.

lookupObject

public Object lookupObject(String key)
Description copied from interface: Registry
Look up a single object by name.

Specified by:
lookupObject in interface Registry
Returns:
object or null if not found

lookupObjects

public Collection lookupObjects(Class type)
Description copied from interface: Registry
Look up all objects of a given type.

Specified by:
lookupObjects in interface Registry
Returns:
collection of objects or empty collection if none found

registerObject

public void registerObject(String key,
                           Object value,
                           Object metadata)
                    throws RegistrationException
Specified by:
registerObject in interface Registry
Throws:
RegistrationException

registerObject

public void registerObject(String key,
                           Object value)
                    throws RegistrationException
Specified by:
registerObject in interface Registry
Throws:
RegistrationException

registerObjects

public void registerObjects(Map objects)
                     throws RegistrationException
Specified by:
registerObjects in interface Registry
Throws:
RegistrationException

unregisterObject

public void unregisterObject(String key,
                             Object metadata)
                      throws RegistrationException
Specified by:
unregisterObject in interface Registry
Throws:
RegistrationException

unregisterObject

public void unregisterObject(String key)
                      throws RegistrationException
Specified by:
unregisterObject in interface Registry
Throws:
RegistrationException

getName

protected String getName(Object obj)

getRegistryId

public String getRegistryId()
Specified by:
getRegistryId in interface Registry

isReadOnly

public boolean isReadOnly()
Specified by:
isReadOnly in interface Registry

isRemote

public boolean isRemote()
Specified by:
isRemote in interface Registry


Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.