The following methods are defined in addition to those inherited from Badger::Prototype and Badger::Base.
init(\%config)
Initialialisation method to handle any per-object initialisation. This is called by the new() method
inherited from Badger::Base . In this base class, the method simply copies all items in the $config hash
array into the $self object.
clone()
Create a copy of the current object.
my $clone = $object->clone();
Additional named parameters can be provided. These are merged with the items defined in the parent
object and passed to the cloned object's init() method.
my $clone = $object->clone( g => 0.577 );
methods()
Returns a reference to a hash array containing the content of the $METHODS package variable in the
current class and any base classes.
my $methods = $object->methods;
method($name)
Returns a reference to a particular method from the hash reference returned by the methods() method.
my $method = $object->method('ref');
When called without any arguments, it returns a reference to the entire hash reference, as per methods().
my $method = $object->method->{ foo };
metadata($name,$value)
This method provides access to an out-of-band (i.e. stored separately from the data itself) hash array of
metadata for the data item. It returns a reference to a hash array when called without arguments.
# fetch metadata hash and add an entry
my $metadata = $data->metadata;
$metadata->{ author } = 'Arthur Dent';
# later... print the metadata
print $data->metadata->{ author };
It returns the value of an item in the metadata hash when called with a single argument.
print $data->metadata('author');
It sets the value of an item when called with two arguments.
$data->metadata( author => 'Ford Prefect' );
ref()
Returns the name of the object type, e.g. "Template::TT3::Type", "Template::TT3::Type::Text",
Template::TT3::Type::List, etc., exactly as Perl's "ref()" function does.
defined()
Returns a true/false (1/0) value to indicate if the target data is defined.
undefined()
Returns a true/false (1/0) value to indicate if the target data is undefined.
true()
Returns a true/false (1/0) value to indicate if the target data has a true value (using by Perl's
definition of what constitutes truth).
false()
Returns a true/false (1/0) value to indicate if the target data has a false value (using by Perl's
definition of what constitutes truth).