org.objectweb.fractal.cecilia.adl.controllers
Class VisitorSelectorForController

java.lang.Object
  extended by org.objectweb.fractal.cecilia.adl.plugin.AbstractPluginUser
      extended by org.objectweb.fractal.cecilia.adl.components.AbstractComponentVisitorPluginUser
          extended by org.objectweb.fractal.cecilia.adl.controllers.VisitorSelectorForController
All Implemented Interfaces:
ComponentVisitor, Visitor<org.objectweb.fractal.adl.components.ComponentContainer>, org.objectweb.fractal.api.control.AttributeController, org.objectweb.fractal.api.control.BindingController, PluginUserAttributes

public class VisitorSelectorForController
extends AbstractComponentVisitorPluginUser
implements ComponentVisitor

ComponentVisitor selector that chooses the visitor component to be executed for the given component node. The selection depends on the controller description of the component. This component use the controller description and the controller language of the component to select the plug-in to be used. For a given component, the name of the plug-in to be used for visiting is found using the following convention: "<package>.<ctrlLanguage><ctrlDesc><ADLSuffix>" (Note : in order to respect the above naming convention, the first character of ctrlLanguage and the first character of ctrlDesc are transformed to upper case).

See Also:
AbstractPluginUser.getPlugin(Object, Map, Class)

Field Summary
 
Fields inherited from class org.objectweb.fractal.cecilia.adl.components.AbstractComponentVisitorPluginUser
CLIENT_VISITOR_ITF
 
Fields inherited from class org.objectweb.fractal.cecilia.adl.plugin.AbstractPluginUser
clientCollectionItfName, clientPluginsItf, PLUGIN_MANAGER, pluginManagerItf, weaveableC
 
Constructor Summary
VisitorSelectorForController()
           
 
Method Summary
 org.objectweb.fractal.api.Component visit(java.util.List<org.objectweb.fractal.adl.Node> path, org.objectweb.fractal.adl.components.ComponentContainer container, java.util.Map<java.lang.Object,java.lang.Object> context)
          Visits an AST node and creates a component task that models the processing to be done on this node.
 
Methods inherited from class org.objectweb.fractal.cecilia.adl.components.AbstractComponentVisitorPluginUser
getVisitorPlugin
 
Methods inherited from class org.objectweb.fractal.cecilia.adl.plugin.AbstractPluginUser
bindFc, getADLPackage, getADLSuffix, getPlugin, listFc, lookupFc, setADLPackage, setADLSuffix, unbindFc
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VisitorSelectorForController

public VisitorSelectorForController()
Method Detail

visit

public org.objectweb.fractal.api.Component visit(java.util.List<org.objectweb.fractal.adl.Node> path,
                                                 org.objectweb.fractal.adl.components.ComponentContainer container,
                                                 java.util.Map<java.lang.Object,java.lang.Object> context)
                                          throws org.objectweb.fractal.adl.ADLException,
                                                 TaskException
Description copied from interface: Visitor
Visits an AST node and creates a component task that models the processing to be done on this node.

Specified by:
visit in interface Visitor<org.objectweb.fractal.adl.components.ComponentContainer>
Parameters:
path - a list containing all the parent nodes of the visited node stating from the root of the AST.
container - the AST Node to be visited.
context - additional parameters.
Returns:
a task component that models the processing to be done on this node.
Throws:
ADLException - if something wrong is found in the AST.
TaskException - if something wrong happens during the instantiation of the task component.


Copyright © 2007-2009 ObjectWeb Consortium. All Rights Reserved.