org.objectweb.fractal.cecilia.primitive.thinkMC.components
Class ComponentInstantiationVisitor

java.lang.Object
  extended by org.objectweb.fractal.task.core.AbstractTaskFactoryUser
      extended by org.objectweb.fractal.cecilia.primitive.thinkMC.components.ComponentInstantiationVisitor
All Implemented Interfaces:
ComponentVisitor, Visitor<org.objectweb.fractal.adl.components.ComponentContainer>, org.objectweb.fractal.api.control.BindingController

public class ComponentInstantiationVisitor
extends AbstractTaskFactoryUser
implements ComponentVisitor

Visitor component that builds the instantiation of a static component instance for component written in the ThinkMC dialect.


Nested Class Summary
static class ComponentInstantiationVisitor.ComponentInstantiationTask
          Builds source code for the instantiation/initialization of the component data structure for the given component node.
 
Field Summary
 
Fields inherited from class org.objectweb.fractal.task.core.AbstractTaskFactoryUser
TASK_FACTORY_ITF_NAME, taskFactoryItf
 
Constructor Summary
ComponentInstantiationVisitor()
           
 
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 ComponentContainer nodes and creates a task that writes the source code containing the component data structure definitions.
 
Methods inherited from class org.objectweb.fractal.task.core.AbstractTaskFactoryUser
bindFc, listFc, lookupFc, unbindFc
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComponentInstantiationVisitor

public ComponentInstantiationVisitor()
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
Visits ComponentContainer nodes and creates a task that writes the source code containing the component data structure definitions.

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.