org.objectweb.fractal.cecilia.adl.interfaces
Class AbstractClientInterfaceVisitor

java.lang.Object
  extended by org.objectweb.fractal.task.core.AbstractTaskFactoryUser
      extended by org.objectweb.fractal.cecilia.adl.interfaces.AbstractClientInterfaceVisitor
All Implemented Interfaces:
ComponentVisitor, Visitor<org.objectweb.fractal.adl.components.ComponentContainer>, org.objectweb.fractal.api.control.BindingController
Direct Known Subclasses:
BCDefinitionVisitor, BCFactoryVisitor, BCInstantiationVisitor, ClientInterfaceDefinitionVisitor, ClientInterfaceInstantiationVisitor

public abstract class AbstractClientInterfaceVisitor
extends AbstractTaskFactoryUser
implements ComponentVisitor

Abstract visitor component that creates a task that depends on the client interfaces of the component (if any).


Field Summary
 
Fields inherited from class org.objectweb.fractal.task.core.AbstractTaskFactoryUser
TASK_FACTORY_ITF_NAME, taskFactoryItf
 
Constructor Summary
AbstractClientInterfaceVisitor()
           
 
Method Summary
protected abstract  org.objectweb.fractal.api.Component createTask(org.objectweb.fractal.adl.components.ComponentContainer container, java.util.List<org.objectweb.fractal.adl.types.TypeInterface> clientInterfaces)
          Creates the task that is returned by this visitor.
 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 call createTask if the given component contains client Interface sub-nodes.
 
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

AbstractClientInterfaceVisitor

public AbstractClientInterfaceVisitor()
Method Detail

createTask

protected abstract org.objectweb.fractal.api.Component createTask(org.objectweb.fractal.adl.components.ComponentContainer container,
                                                                  java.util.List<org.objectweb.fractal.adl.types.TypeInterface> clientInterfaces)
                                                           throws org.objectweb.fractal.adl.ADLException,
                                                                  TaskException
Creates the task that is returned by this visitor.

Parameters:
container - the component that is visited.
clientInterfaces - the client interfaces of the component (contains at least one element).
Returns:
the created task.
Throws:
org.objectweb.fractal.api.factory.InstantiationException - if the instantiation of the task fails.
org.objectweb.fractal.adl.ADLException - if the instantiation of the task fails.
TaskException

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 call createTask if the given component contains client Interface sub-nodes.

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.