org.picocontainer
Interface PicoVisitor

All Known Implementing Classes:
AbstractPicoVisitor, MethodCallingVisitor, TraversalCheckingVisitor, VerifyingVisitor

public interface PicoVisitor

Interface realizing a visitor pattern for PicoContainer as described in the GoF. The visitor should visit the container, its children, all registered ComponentAdapter instances and all instantiated components.

Author:
Aslak Hellesøy, Jörg Schaible

Field Summary
static boolean ABORT_TRAVERSAL
          Constant that indicates that the traversal should abort after the visit*() method has been called.
static boolean CONTINUE_TRAVERSAL
          Constant that indicates that the traversal should continue after the visit*() method has been called.
 
Method Summary
 Object traverse(Object node)
          Entry point for the PicoVisitor traversal.
 void visitComponentAdapter(ComponentAdapter<?> componentAdapter)
          Visit a ComponentAdapter that has to accept the visitor.
 void visitComponentFactory(ComponentFactory componentFactory)
          Visit a ComponentAdapter that has to accept the visitor.
 boolean visitContainer(PicoContainer pico)
          Visit a PicoContainer that has to accept the visitor.
 void visitParameter(Parameter parameter)
          Visit a Parameter that has to accept the visitor.
 

Field Detail

CONTINUE_TRAVERSAL

static final boolean CONTINUE_TRAVERSAL
Constant that indicates that the traversal should continue after the visit*() method has been called.

See Also:
Constant Field Values

ABORT_TRAVERSAL

static final boolean ABORT_TRAVERSAL
Constant that indicates that the traversal should abort after the visit*() method has been called.

See Also:
Constant Field Values
Method Detail

traverse

Object traverse(Object node)
Entry point for the PicoVisitor traversal. The given node is the first object, that is asked for acceptance. Only objects of type PicoContainer, ComponentAdapter, or Parameter are valid.

Parameters:
node - the start node of the traversal.
Returns:
a visitor-specific value.
Throws:
IllegalArgumentException - in case of an argument of invalid type.

visitContainer

boolean visitContainer(PicoContainer pico)
Visit a PicoContainer that has to accept the visitor.

Parameters:
pico - the visited container.
Returns:
CONTINUE_TRAVERSAL if the traversal should continue. Any visitor callback that returns ABORT_TRAVERSAL indicates the desire to abort any further traversal.

visitComponentAdapter

void visitComponentAdapter(ComponentAdapter<?> componentAdapter)
Visit a ComponentAdapter that has to accept the visitor.

Parameters:
componentAdapter - the visited ComponentAdapter.

visitComponentFactory

void visitComponentFactory(ComponentFactory componentFactory)
Visit a ComponentAdapter that has to accept the visitor.

Parameters:
componentAdapter - the visited ComponentAdapter.

visitParameter

void visitParameter(Parameter parameter)
Visit a Parameter that has to accept the visitor.

Parameters:
parameter - the visited Parameter.


Copyright © 2003-2010 Codehaus. All Rights Reserved.