Rechercher une page de manuel
MooseX::SetOnce.3pm
Langue: en
Version: 2010-02-16 (ubuntu - 24/10/10)
Section: 3 (Bibliothèques de fonctions)
NAME
MooseX::SetOnce - write-once, read-many attributes for MooseVERSION
version 0.100471SYNOPSIS
Add the ``SetOnce'' trait to attributes:package Class; use Moose; use MooseX::SetOnce; has some_attr => ( is => 'rw', traits => [ qw(SetOnce) ], );
...and then you can only set them once:
my $object = Class->new; $object->some_attr(10); # works fine $object->some_attr(20); # throws an exception: it's already set!
DESCRIPTION
The 'SetOnce' attribute lets your class have attributes that are not lazy and not set, but that cannot be altered once set.The logic is very simple: if you try to alter the value of an attribute with the SetOnce trait, either by accessor or writer, and the attribute has a value, it will throw an exception.
If the attribute has a clearer, you may clear the attribute and set it again.
AUTHOR
Ricardo SIGNES <rjbs@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by Ricardo SIGNES.This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre