The following module was proposed for inclusion in the Module List:
modid: Class::Declare::Attributes
DSLIP: RdpOp
description: Class::Declare method types using attributes
userid: IBB (Ian Brayshaw)
chapterid: 6 (Data_Type_Utilities)
communities:
comp.lang.perl.misc
similar:
Attribute::Handlers Attribute::Protected
rationale:
Class::Declare::Attributes is designed to simplify the
specification of object interfaces when using the Class::Declare
framework. It provides attributes that may be used to specify a
method's access restrictions. From the README:
NAME Class::Declare::Attributes - Class::Declare method types using
Perl attributes.
SYNOPSIS package My::Class;
use 5.006; use strict; use warnings;
use base qw( Class::Declare::Attributes );
# declare the class/instance attributes __PACKAGE__->declare( ...
);
# # declare class/static/restricted/etc methods of this package #
sub my_class : class { ... } sub my_static : static { ... } sub
my_restricted : restricted { ... } sub my_public : public { ... }
sub my_private : private { ... } sub my_protected : protected { ...
}
DESCRIPTION Class::Declare::Attributes extends Class::Declare by
adding support for Perl attributes for specifying class method
types. This extension was inspired by Damian Conway's
Attribute::Handlers module, and Tatsuhiko Miyagawa's
Attribute::Protected module.
The addition of Perl attribute support (not to be confused with
object attributes, which are entirely different, and also supported
by Class::Declare) greatly simplifies the specification of
Class::Declare-derived class and instance methods. This should aid
in the porting of existing code (Perl, Java and C++) to a
Class::Declare framework, as well as simplify the development of new
modules.
With the addition of Perl attributes, Class::Declare methods can
now be written as
sub method : public { my $self = shift; ... }
instead of
sub method { my $self = __PACKAGE__->public( shift ); ... }
enteredby: IBB (Ian Brayshaw)
enteredon: Fri Jun 6 14:55:52 2003 GMT
The resulting entry would be:
Class::Declare::
::Attributes RdpOp Class::Declare method types using attributes IBB
Thanks for registering,
--
The PAUSE
PS: The following links are only valid for module list maintainers:
Registration form with editing capabilities:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=3f400000_14718f1692be8432&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=3f400000_14718f1692be8432&SUBMIT_pause99_add_mod_insertit=1