The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

IOC::Visitor::ServiceLocator - Service locator Visitor for the IOC::Container hierarchies

SYNOPSIS

  use IOC::Visitor::ServiceLocator;

  # given a $container, ...

  # find services within $container
  my $visitor = IOC::Visitor::ServiceLocator->new('connection');

  # find services relative to $container
  my $visitor = IOC::Visitor::ServiceLocator->new('../connection');
  
  # find services from $container's root  
  my $visitor = IOC::Visitor::ServiceLocator->new('/database/connection');
  
  $container->accept($visitor);

DESCRIPTION

This is a IOC::Visitor object, used by the IOC::Container's find method to locate a service using a path syntax.

        +------------------+
        | <<IOC::Visitor>> |
        +------------------+
                 |
                 ^
                 |
   +------------------------------+
   | IOC::Visitor::ServiceLocator |
   +------------------------------+

METHODS

new ($path)

Creates a new instance which will find Services at a given $path. If no $path is given, than an IOC::InsufficientArguments exception is thrown.

visit ($container)

Given a $container, the invocant will attempt to locate the service at the $path (given to the constuctor) from within the $container.

TO DO

Work on the documentation

BUGS

None that I am aware of. Of course, if you find a bug, let me know, and I will be sure to fix it.

CODE COVERAGE

I use Devel::Cover to test the code coverage of my tests, see the CODE COVERAGE section of IOC for more information.

SEE ALSO

AUTHOR

stevan little, <stevan@iinteractive.com>

COPYRIGHT AND LICENSE

Copyright 2004-2007 by Infinity Interactive, Inc.

http://www.iinteractive.com

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.