GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  OBJECT::CONTAINER::JA (3)

.ds Aq ’

NAME

Object::Container::ja - XXXXXXXXXXXXXXXXXXXXXX

CONTENTS

SYNOPSIS



    use Object::Container;

    ## OO XXXXXXX
    # XXX
    my $container = Object::Container->new;
   
    # XXXXXX
    $container->register(HTML::TreeBuilder);
   
    # XXXXXXXXXXXXXXXXX
    $container->register(WWW::Mechanize, sub {
        my $mech = WWW::Mechanize->new( stack_depth => 1 );
        $mech->agent_alias(Windows IE 6);
        return $mech;
    });
   
    # XXXXXXXXXXXXX
    my $mech = $container->get(WWW::Mechanize);
   
    ## SingletonXXXXXXX
    my $container = Object::Container->instance;
   
    # SingletonXXXXXXXXXXXregister/getXXXXXXXXXXXXXXX
    Object::Container->register(WWW::Mechanize);
    my $mech = Object::Container->get(WWW::Mechanize);
   
    # SingletonXXXXXXXXgetXXXXXXXXXXXXXXXXXX
    use Object::Container container;
    container->register(WWW::Mechanize);
    my $mech = container->get(WWW::Mechanize);
    my $mech = container(WWW::Mechanize); # save as above
   
    # SingletonXXXXXXXXXXXXXX
    package MyObj;
    use Object::Container -base;
   
    register ua => sub { LWP::UserAgent->new };



DESCRIPTION

Object::Container X Singleton XXXXXXXXOO XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXClass::Singleton XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Singleton XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXX Object::Registrar XXXXXXXXXXXXXXXXOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX (XXXXXXXXXXXXXXX

    OOXXXXXXXXXSingletonXXXXXXXX

XXXXXXXX OO XXXXXXXXX Singleton XXXXXXXXXXXXXXXXXXXXXXXXXX

OOXXXXXXXX



    my $container = Object::Container->new;



XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXX



    my $container1 = Object::Container->new;
    my $container2 = Object::Container->new;



XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

SingletonXXXXXXXX



    my $container = Object::Container->instance;



XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

SingletonXXXXXXXXXXXXXXXXregister X get XXXXX



    Object::Container->register(WWW::Mechanize, sub { WWW::Mechanize->new( stack_depth => 1 ) });



XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSingletonXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX



    MyContainer1->get(WWW::Mechanize);
    MyContainer2->get(WWW::Mechanize);



XXXXXXXX

    SingletonXXXXXXXXEXPORTXX

SingletonXXXXXXXXXXXXX



    MyContainer->get(WWW::Mechanize);



XXXXXXXXXXXXXXXXXXXXXXXXXXXXEXPORTXXXXXXXXXXXXXXX



    use MyContainer obj;



XXuse XXXXXXXXXXXXXXXXXXXXXXXX



    obj->register( mech => sub { WWW::Mechanize->new });

    obj->get(mech);
    obj(mech);      # shortcut to obj->get(mech)



XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    SingletonXXXXXXXXXXXXXX

SingletonXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX



    __PACKAGE__->register( mech => sub { WWW::Mechanize->new } );



XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXX



    use base Object::Container;



XXXXXXX



    use Object::Container -base;



XXXX register XXXXXXXXXXXXXXXXXXXXXXXXX __PACKAGE__->register XXXXX



    register mech => sub { WWW::Mechanize->new };



XXXXXXXXXXXXXXXXX

    XXXXXXXXXXX

registerXXXXXXXXXXXXXXXXXXXXX get XXXXXXXXXXXXXXXXXXXXXXX



    Object::Container->register(WWW::Mechanize, sub { WWW::Mechanize->new }); # XXX WWW::Mechanize->new XXXXXXX
    my $mech = Object::Container->get(WWW::Mechanize); # XXXXXXXX



XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XX Singleton XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXHTTP::Cookies XXXXXXXXXXX LWP::UserAgent XXXXXXXXXXXXXX



    Object::Container->register(HTTP::Cookies, sub { HTTP::Cookies->new( file => /path/to/cookie.dat ) });
    Object::Container->register(LWP::UserAgent, sub {
        my $cookies = Object::Container->get(HTTP::Cookies);
        LWP::UserAgent->new( cookie_jar => $cookies );
    });



XXXXXXXXXXXXXXX get XXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXX



    my $ua = Object::Container->get(LWP::UserAgent);



XXXXX LWP::UserAgent X HTTP::Cookies XXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXX



    Object::Container->register({ class => LWP::UserAgent, preload => 1 });



initializer XXXXXXXXXXXXXXXXXX



    Object::Container->register({ class => WWW::Mechanize, initializer => sub {
        my $mech = WWW::Mechanize->new( stack_depth );
        $mech->agent_alias(Windows IE 6);
        return $mech;
    }, preload => 1 });



XXXXXXXXXXXXXXXXXXX



    Object::Container->register(WWW::Mechanize, sub {
        my $mech = WWW::Mechanize->new( stack_depth );
        $mech->agent_alias(Windows IE 6);
        return $mech;
    });
    Object::Container->get(WWW::Mechanize);



args XXXXXXXXXXXXX:



    Object::Container->register({ class => LWP::UserAgent, args => \@args, preload => 1 });



XXXXXXXXXXXXXXXXXXXXXXX



    Object::Container->register(LWP::UserAgent, @args);
    Object::Container->get(LWP::UserAgent);



METHODS

register( CW$class, CW@args )

register( CW$class_or_name, CW$initialize_code )

Object::Container XXXXXXXXXXXXXX

XXXXXXXXXXXXX



    Object::Container->register(WWW::Mechanize);



XXXXXXXXXXXXXXXXXXXXXXXXXX get XXXXX WWW::Mechanize->new XXXXXXXXXXXX

new XXXXXXXXXXXX



    Object::Container->register(WWW::Mechanize, @constructor_args);



XXXXXXXXXXXXXXXXXXXXXXXXXXX new XXXXXXXX

new XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX



    Object::Container->register(WWW::Mechanize, sub {
        my $mech = WWW::Mechanize->new( stack_depth );
        $mech->agent_alias(Windows IE 6);
        return $mech;
    });



XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX



    Object::Container->register(ua1, sub { LWP::UserAgent->new });
    Object::Container->register(ua2, sub { LWP::UserAgent->new });



XXXXXXXXXXXXXXX

    get($class_or_name)

registerXXXXXXXXXXXXXXXXXXXXXX

XXXXXXregisterXXXXXXXXXXXXXXXXXXXXXX

    ensure_class_loaded($class)

$class XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX use XXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    load_all

    load_all_except(@classes_or_names)

XXXXXXXXXXXXXXXXXXXXgetXXXXXXXXXXXXXXXXXXXXXXXXXXXX Copy-On-Write XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX



    Object::Container->load_all;



XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXX



    Object::Container->load_all_except(qw/Foo Bar/);



XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX Foo X Bar XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

EXPORT FUNCTIONS ON SUBCLASS INTERFACE



    package MyContainer;
    use strict;
    use warnings;
    use Object::Container -base;



XXXXXX Object::Container XXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

register( CW$class, CW@args )

register( CW$class_or_name, CW$initialize_code )



    register Foo => sub {
        my ($self) = @_;
        $self->ensure_class_loaded(Foo);
        Foo->new;
    };



XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX register XXXXXXXXXXXXXXX

    preload(@classes_or_names)

    preload_all

    preload_all_except

XXXXXXXXXXXXXXXXXXXX load_allXload_all_except XXXXXXXXXXXXXXXXXXXXX preload_all X load_all XXpreload_all_except X load_all_except XXXXXXXXXXXXX

SEE ALSO

Class::Singleton, Object::Registrar.

AUTHOR

Daisuke Murase <typester@cpan.org>

COPYRIGHT & LICENSE

Copyright (c) 2009 by KAYAC Inc.

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

The full text of the license can be found in the LICENSE file included with this module.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 OBJECT::CONTAINER::JA (3) 2010-10-12

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.