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

Reply via email to