| Pangloss documentation | Contained in the Pangloss distribution. |
Pangloss::StoredObject::Common - common base class for some stored objects.
# abstract - cannot be used
use base qw( Pangloss::StoredObject::Common );
$obj->name( $name )
->notes( $notes )
->creator( $user )
->date( time )
->validate;
# catch Pangloss::StoredObject::Errors
Base class for stored objects in Pangloss.
set/get name.
set/get notes.
set/get the Pangloss::User that created this object.
set/get modified date.
copy name/notes/creator/date. returns this object.
validate this object, or throw an error. returns itself. checks name/creator/date.
abstract. throws appropriate Pangloss::StoredObject::Error.
Steve Purkis <spurkis@quiup.com>
Pangloss, OpenFrame::WebApp::Error::Abstract
| Pangloss documentation | Contained in the Pangloss distribution. |
package Pangloss::StoredObject::Common; use strict; use warnings::register; use Error; use Pangloss::StoredObject::Error; use OpenFrame::WebApp::Error::Abstract; use base qw( Pangloss::StoredObject ); use accessors qw( name creator date notes ); our $VERSION = ((require Pangloss::Version), $Pangloss::VERSION)[1]; our $REVISION = (split(/ /, ' $Revision: 1.6 $ '))[2]; sub validate { my $self = shift; my $errors = shift || {}; $errors->{eNameRequired()} = 1 unless ($self->name); $errors->{eCreatorRequired()} = 1 unless ($self->creator); $errors->{eDateRequired()} = 1 unless ($self->date); $self->throw_invalid_error( $errors ) if (keys %$errors); return $self; } sub throw_invalid_error { my $self = shift; throw OpenFrame::WebApp::Error::Abstract( class => ref($self) ); } sub copy { my $self = shift; my $obj = shift; $self->name( $obj->name ) ->notes( $obj->notes ) ->creator( $obj->creator ) ->date( $obj->date ); return $self; } 1; __END__ #------------------------------------------------------------------------------