FreeBSD Manual Pages
MooseX::SetOnce(3) User Contributed Perl Documentation MooseX::SetOnce(3) NAME MooseX::SetOnce - write-once, read-many attributes for Moose VERSION version 0.200002 SYNOPSIS 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) 2013 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. perl v5.32.0 2013-10-05 MooseX::SetOnce(3)
NAME | VERSION | SYNOPSIS | DESCRIPTION | AUTHOR | COPYRIGHT AND LICENSE
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=MooseX::SetOnce&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>