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

NAME

Object::Meta::Plugin::Useful - A subclass of Object::Meta::Plugin, base class of the various Useful:: plugins.

SYNOPSIS

        # use the others. see bottom

DESCRIPTION

This is the parent of all the plugin base classes that fall under Useful::. It defines a generic constructor, as well as an init without suicidal tendencies.

Object::Meta::Plugin::Useful::Generic

This is a base class for a plugin which extends Object::Meta::Plugin::Useful. It provides the export method, with which you explicitly select methods for export.

Object::Meta::Plugin::Useful::Meta

This is a base class for a [meta] plugin which extends Object::Meta::Plugin::Useful as well as Object::Meta::Plugin::Host. It's function is to provide the necessary bridging a host needs from the outside of the host. See the Object::Meta::Plugin::Useful::Meta's documents (the CAVEATS section), or the test suite (basic.t) for how to do this from within the host, without extending Object::Meta::Plugin::Host, but rather plugging into one.

Object::Meta::Plugin::Useful::Greedy

This is a base class for a plugin which extends Object::Meta::Plugin::Useful. It gobbles the defined methods of an object from it's symbol table / @ISA tree, and then filters them using the [overridable] method _filter. It should provide the easiest functionality, provided that there is no wizardry going on. The other downside is that it requires Devel::Symdump to work.

SUBCLASSING

This implementation uses the export list implementation found in Object::Meta::Plugin::ExportList. That implementation requires that the plugin define a method called exports, which returns a list of method names. Look at the classes which subclass this, for some examples.

METHODS

init

This method will will create a new export list. All arguments to it (probably accepted from Object::Meta::Plugin::Host's plug method, are passed to Object::Meta::Plugin::ExportList's new.

CAVEATS

Nothing I can think of.

BUGS

Nada.

TODO

Nothing right now.

COPYRIGHT & LICENSE

        Copyright 2003 Yuval Kogman. All rights reserved.
        This program is free software; you can redistribute it
        and/or modify it under the same terms as Perl itself.

AUTHOR

Yuval Kogman <nothingmuch@woobling.org>

SEE ALSO

Object::Meta::Plugin, Object::Meta::Plugin::Useful::Generic, Object::Meta::Plugin::Useful::Meta.