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