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

java.lang.Object
  extended by org.objectweb.fractal.task.core.AbstractTaskFactoryUser
      extended by org.objectweb.fractal.cecilia.adl.interfaces.AbstractServerInterfaceVisitor
All Implemented Interfaces:
ComponentVisitor, Visitor<org.objectweb.fractal.adl.components.ComponentContainer>, org.objectweb.fractal.api.control.BindingController
Direct Known Subclasses:
CIDefinitionVisitor, CIFactoryVisitor, CIInstantiationVisitor, ServerInterfaceDefinitionVisitor, ServerInterfaceFactoryVisitor, ServerInterfaceInstantiationVisitor, ServerInterfaceVFTInstantiationVisitor

public abstract class AbstractServerInterfaceVisitor
extends AbstractTaskFactoryUser
implements ComponentVisitor

Abstract visitor component that creates a task that depends on the server 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
AbstractServerInterfaceVisitor()
           
 
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> serverInterfaces)
          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 server 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

AbstractServerInterfaceVisitor

public AbstractServerInterfaceVisitor()
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> serverInterfaces)
                                                           throws org.objectweb.fractal.adl.ADLException,
                                                                  TaskException
Creates the task that is returned by this visitor.

Parameters:
container - the component that is visited.
serverInterfaces - the server 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 server 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.