NAME
Class::MakeMethods::Emulator::accessors - Emulate the accessors module
SYNOPSIS
package
Foo;
my
$obj
=
bless
{},
'Foo'
;
# generates chaining accessors:
$obj
->foo(
'hello '
)
->bar(
'world'
)
->baz(
"!\n"
);
$obj
->foo,
$obj
->bar,
$obj
->baz;
This module also defines subpackages for the classic and chaining subclasses:
package
Bar;
my
$obj
=
bless
{},
'Bar'
;
# always return the current value, even on set:
$obj
->foo(
'hello '
)
if
$obj
->bar(
'world'
);
$obj
->foo,
$obj
->bar,
$obj
->baz(
"!\n"
);
DESCRIPTION
This module emulates the functionality of the accessors module, using Class::MakeMethods to generate similar methods.
In particular, the following lines are equivalent:
You may use this module directly, as shown in the SYNOPSIS above,
Furthermore, you may call use Class::MakeMethods::Emulator::accessors '-take_namespace';
to alias the accessors namespace to this package, and subsequent calls to the original package will be transparently handled by this emulator. To remove the emulation aliasing, call use Class::MakeMethods::Emulator::accessors '-release_namespace'
. The same mechanism is also available for the classic and chained subclasses.
Caution: This affects all subsequent uses of the accessors module in your program, including those in other modules, and might cause unexpected effects.
SEE ALSO
See Class::MakeMethods for general information about this distribution.
See Class::MakeMethods::Emulator for more about this family of subclasses.
See accessors for documentation of the original module.