Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Class::Accessor::Assert
Accessors which type-check

Class::Accessor::Assert - Accessors which type-check


NAME

Class::Accessor::Assert - Accessors which type-check


SYNOPSIS


  use Class::Accessor::Assert;

  __PACKAGE__->mk_accessors( qw( +foo bar=Some::Class baz @bits ) );


DESCRIPTION

This is a version of the Class::Accessor manpage which offers rudimentary type-checking and existence-checking of arguments to constructors and set accessors.

To specify that a member is mandatory in the constructor, prefix its name with a +. To specify that it needs to be of a certain class when setting that member, suffix =CLASSNAME. Unblessed reference types such as =HASH or =ARRAY are acceptable.

To specify that a member is an array, prefix its name with a @. These members also have the following four special methods that wrap the builtin array operations push, pop, unshift, and shift:


    # for a @bits member:

    

    $y->bits_push(@new_values);

    print $y->bits_pop;

    

    $y->bits_unshift(@new_values);

    print $y->bits_shift;

The @ can be combined with the + prefix to make a member that is an array that you must set in the constructor. The + must precede the @.


    # 'foo' is required in the constructor

    __PACKAGE__->mk_accessors(qw( +@foo ));


SEE ALSO

the Class::Accessor manpage


AUTHOR

This module is maintained by


  Steffen Mueller, accessor-module at steffen-mueller dot net

Original author is


  Simon Cozens, simon@simon-cozens.org

Please direct inquiries, bug reports, etc. towards the maintainer, not the original author. Simon no longer provides support for this module, so please respect that.


COPYRIGHT AND LICENSE

Copyright 2003 by Simon Cozens

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy