NAME

Bio::MAGE::Base - generic base class

SYNOPSIS

  use Bio::MAGE::Base;

  # create an empty instance
  my $obj = Bio::MAGE::Base->new();

  # create an instance and populate with data
  my $obj = Bio::MAGE::Base->new(attr1=>$val1, attr2=>$val2);

  # copy an existing instance
  my $obj_copy = $obj->new();

DESCRIPTION

The base class for all other Bio::MAGE classes

CLASS METHODS

The following methods can all be called without first having an instance of the class via the Namespace::Class->methodname() syntax, i.e. the class name must be given as an argument to the method.

$obj = class->new(%params)

The new() method is the class constructor.

Parameters: if given a list of name/value parameters the corresponding slots, attributes, or associations will have their initial values set by the constructor.

Return value: It returns a reference to an object of the class.

Side effects: It invokes the initialize() method if it is defined by the class.

The following methods can all be called with either the Namespace::Class->methodname() and $obj->methodname() syntaxes.

@names = get_slot_names()

The get_slot_names() method is used to retrieve the name of all slots defined for a given object.

NOTE: the list of names does not include attribute or association names.

Return value: A list of the names of all slots defined for this class.

Side effects: none

@name_list = get_attribute_names()

returns the list of attribute data members for this class.

@name_list = get_association_names()

returns the list of association data members for this class.

@class_list = get_superclasses()

returns the list of superclasses for this class.

@class_list = get_subclasses()

returns the list of subclasses for this class.

$name = class_name()

Returns the full class name for this class.

$package_name = package_name()

Returns the base package name (i.e. no 'namespace::') of the package that contains this class.

%assns = associations()

returns the association meta-information in a hash where the keys are the association names and the values are Association objects that provide the meta-information for the association.

INSTANCE METHODS

These methods must be invoked with the direct object syntax using an existing instance, i.e. $object->method_name().

$obj_copy = $obj->new()

When invoked with an existing object reference and not a class name, the new() method acts as a copy constructor - with the new object's initial values set to be those of the existing object.

Parameters: No input parameters are used in the copy constructor, the initial values are taken directly from the object to be copied.

Return value: It returns a reference to an object of the class.

Side effects: It invokes the initialize() method if it is defined by the class.

$obj->set_slots(%parameters)
$obj->set_slots(\@name_list, \@value_list)

The set_slots() method is used to set a number of slots at the same time. It has two different invocation methods. The first takes a named parameter list, and the second takes two array references.

Return value: none

Side effects: will call croak() if a slot_name is used that the class does not define.

$obj->get_slots(@name_list)

The get_slots() method is used to get the values of a number of slots at the same time.

Return value: a list of instance objects

Side effects: none

$val = $obj->set_slot($name,$val)

The set_slot() method sets the slot $name to the value $val

Return value: the new value of the slot, i.e. $val

Side effects: none

$val = $obj->get_slot($name)

The get_slot() method is used to get the values of a number of slots at the same time.

Return value: a single slot value, or undef if the slot has not been initialized.

Side effects: none

throw
 Title   : throw
 Usage   :
 Function:
 Example :
 Returns : 
 Args    :
throw_not_implemented
 Title   : throw_not_implemented
 Usage   :
 Function:
 Example :
 Returns : 
 Args    :

BUGS

Please send bug reports to the project mailing list: ()

AUTHOR

SEE ALSO

perl(1).