# Copyright 2008-2010 Tim Rayner # # This file is part of Bio::MAGETAB. # # Bio::MAGETAB is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # Bio::MAGETAB is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Bio::MAGETAB. If not, see . # # $Id: Event.pm 340 2010-07-23 13:19:27Z tfrayner $ package Bio::MAGETAB::Event; use Moose; use MooseX::FollowPBP; use MooseX::Types::Moose qw( Str ); BEGIN { extends 'Bio::MAGETAB::Node' }; # This is an abstract class; block direct instantiation. sub BUILD { my ( $self, $params ) = @_; if ( blessed $self eq __PACKAGE__ ) { confess("ERROR: Attempt to instantiate abstract class " . __PACKAGE__); } return; } has 'name' => ( is => 'rw', isa => Str, required => 1 ); __PACKAGE__->meta->make_immutable(); no Moose; =pod =head1 NAME Bio::MAGETAB::Event - Abstract event class =head1 SYNOPSIS use Bio::MAGETAB::Event; =head1 DESCRIPTION This class is an abstract class from which all MAGE-TAB Event classes (Assay, DataAcquisition, Normalization) are derived. It cannot be instantiated directly. See the L class for superclass methods. =head1 ATTRIBUTES =over 2 =item name (required) The name of the event (data type: String). =back =head1 METHODS Each attribute has accessor (get_*) and mutator (set_*) methods, and also predicate (has_*) and clearer (clear_*) methods where the attribute is optional. Where an attribute represents a one-to-many relationship the mutator accepts an arrayref and the accessor returns an array. =head1 SEE ALSO L =head1 AUTHOR Tim F. Rayner =head1 LICENSE This library is released under version 2 of the GNU General Public License (GPL). =cut 1;