org.mule.devkit.dynamic.api.invocation
Class DynamicModule

java.lang.Object
  extended by org.mule.devkit.dynamic.api.invocation.DynamicModule
All Implemented Interfaces:
org.mule.api.lifecycle.Disposable
Direct Known Subclasses:
RetryingDynamicModule

public class DynamicModule
extends Object
implements org.mule.api.lifecycle.Disposable


Nested Class Summary
static interface DynamicModule.Listener<T>
          Encapsulate logic dealing with event received from a Source.
 
Field Summary
protected static int DEFAULT_RETRY_MAX
           
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Constructor Summary
DynamicModule(Module module)
           
DynamicModule(Module module, Map<String,Object> overriddenParameters)
           
DynamicModule(Module module, Map<String,Object> overriddenParameters, int retryMax)
           
 
Method Summary
protected  Map<String,Object> allParameters(List<Module.Parameter> defaultParameters, Map<String,Object> overriddenParameters)
          Aggregate all parameters: default and overridden ones.
protected  Registrar createAndCacheRegistrar(org.mule.api.source.MessageSource messageSource)
           
 void dispose()
          Cleanup all internal resources: * call Invoker.dispose() for all cached Invoker * call Registrar.stop() for all cached Registrar * call Disposable.dispose()
protected  void ensureNoMissingParameters(List<Module.Parameter> defaultParameters, Map<String,Object> overriddenParameters)
           
protected  Module.Processor findProcessor(String processorName)
           
protected  Module.Source findSource(String sourceName)
           
protected  Invoker getInvoker(org.mule.api.processor.MessageProcessor messageProcessor)
           
protected  org.mule.api.MuleContext getMuleContext()
           
protected  Registrar getRegistrar(org.mule.api.source.MessageSource messageSource)
           
protected
<T> T
invoke(org.mule.api.processor.MessageProcessor messageProcessor, Map<String,Object> parameters)
           
<T> T
invoke(String processorName, Map<String,Object> overriddenParameters)
          Invoke `processorName` with provided `overriddenParameters`.
 void subscribe(String sourceName, Map<String,Object> overriddenParameters, DynamicModule.Listener listener)
          Subscribe DynamicModule.Listener to `sourceName` Source with `overriddenParameters`.
 void unsubscribe(String sourceName)
          Unsubscribe DynamicModule.Listener previously registered to `sourceName` Source.
protected  void validateParameterTypeCorrectness(List<Module.Parameter> defaultParameters, Map<String,Object> overriddenParameters)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_RETRY_MAX

protected static final int DEFAULT_RETRY_MAX
See Also:
Constant Field Values
Constructor Detail

DynamicModule

public DynamicModule(Module module)

DynamicModule

public DynamicModule(Module module,
                     Map<String,Object> overriddenParameters)

DynamicModule

public DynamicModule(Module module,
                     Map<String,Object> overriddenParameters,
                     int retryMax)
Method Detail

getMuleContext

protected final org.mule.api.MuleContext getMuleContext()

validateParameterTypeCorrectness

protected final void validateParameterTypeCorrectness(List<Module.Parameter> defaultParameters,
                                                      Map<String,Object> overriddenParameters)

ensureNoMissingParameters

protected final void ensureNoMissingParameters(List<Module.Parameter> defaultParameters,
                                               Map<String,Object> overriddenParameters)

allParameters

protected final Map<String,Object> allParameters(List<Module.Parameter> defaultParameters,
                                                 Map<String,Object> overriddenParameters)
Aggregate all parameters: default and overridden ones. Overridden parameters take precedence over default ones.

Returns:

findProcessor

protected final Module.Processor findProcessor(String processorName)
Parameters:
processorName -
Returns:
Module.Processor extracted from Module$Processorwith specified name, null otherwise

getInvoker

protected final Invoker getInvoker(org.mule.api.processor.MessageProcessor messageProcessor)
                            throws org.mule.api.lifecycle.InitialisationException,
                                   org.mule.api.MuleException
Parameters:
messageProcessor -
Returns:
an Invoker for MessageProcessor. Creates it if needed.
Throws:
org.mule.api.lifecycle.InitialisationException
org.mule.api.MuleException
See Also:
#createInvoker(org.mule.api.processor.MessageProcessor)

invoke

public final <T> T invoke(String processorName,
                          Map<String,Object> overriddenParameters)
               throws org.mule.api.lifecycle.InitialisationException,
                      org.mule.api.MuleException
Invoke `processorName` with provided `overriddenParameters`. Non overridden parameters will rely on default value.

Type Parameters:
T -
Parameters:
processorName -
overriddenParameters -
Returns:
Throws:
org.mule.api.lifecycle.InitialisationException
org.mule.api.MuleException

invoke

protected <T> T invoke(org.mule.api.processor.MessageProcessor messageProcessor,
                       Map<String,Object> parameters)
            throws org.mule.api.lifecycle.InitialisationException,
                   org.mule.api.MuleException
Throws:
org.mule.api.lifecycle.InitialisationException
org.mule.api.MuleException

findSource

protected final Module.Source findSource(String sourceName)
Parameters:
sourceName -
Returns:
Module.Source extracted from Module$Sourcewith specified name, null otherwise

getRegistrar

protected final Registrar getRegistrar(org.mule.api.source.MessageSource messageSource)
                                throws org.mule.api.lifecycle.InitialisationException,
                                       org.mule.api.MuleException
Parameters:
messageSource -
Returns:
a cached Invoker for MessageProcessor.
Throws:
org.mule.api.lifecycle.InitialisationException
org.mule.api.MuleException
See Also:
#createInvoker(org.mule.api.processor.MessageProcessor)

createAndCacheRegistrar

protected final Registrar createAndCacheRegistrar(org.mule.api.source.MessageSource messageSource)
Parameters:
messageSource -
Returns:
a new cached Regsitrar

subscribe

public final void subscribe(String sourceName,
                            Map<String,Object> overriddenParameters,
                            DynamicModule.Listener listener)
                     throws org.mule.api.lifecycle.InitialisationException,
                            org.mule.api.MuleException
Subscribe DynamicModule.Listener to `sourceName` Source with `overriddenParameters`.

Parameters:
sourceName -
overriddenParameters -
listener -
Throws:
org.mule.api.lifecycle.InitialisationException
org.mule.api.MuleException

unsubscribe

public final void unsubscribe(String sourceName)
                       throws org.mule.api.MuleException
Unsubscribe DynamicModule.Listener previously registered to `sourceName` Source.

Parameters:
sourceName -
Throws:
org.mule.api.lifecycle.InitialisationException
org.mule.api.MuleException

dispose

public final void dispose()
Cleanup all internal resources: * call Invoker.dispose() for all cached Invoker * call Registrar.stop() for all cached Registrar * call Disposable.dispose()

Specified by:
dispose in interface org.mule.api.lifecycle.Disposable


Copyright © 2010–2015 MuleSoft, Inc.. All rights reserved.