Take me over?
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'snew
.
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.