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 Details

    • CONTINUE_TRAVERSAL

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

      static final boolean ABORT_TRAVERSAL
      Constant that indicates that the traversal should abort after the visit*() method has been called.
      See Also:
  • Method Details

    • 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.