Badger::Data::Type - base class for data types
This module implements a base class for data types.
An optional name for the data type.
An optional namespace for the data type.
An optional base data type.
An optional list of validation facets.
The following methods are defined in addition to those inherited from the
Badger::Base base class.
This is aliased to the init_type() method.
This is the initialisation method for a data type. It is called automatically
when a data type object is created via the new() method inherited from
the Badger::Base base class.
Returns the name of the data type as specified via the name configuration
option. If no name was specified then an automatically generated name is
returned based on the class name with the
"Badger::Data::Type" prefix removed and all
"::" sequences replaced with periods, e.g. a
data type "Badger::Data::Type::Foo::Bar"
would yield a name of "Foo.Bar".
Returns the namespace for the data type, or
"undef" is none is defined.
Returns the base data type, or "undef" is none
is defined.
Returns a reference to a list of validation facets defined for the data type.
This constant method always returns the value 0.
Subclasses representing simple data types should re-define this to return the
value 1.
This constant method always returns the value 0.
Subclasses representing complex data types should re-define this to return the
value 1.
Applies a new validation facet to the data type.
Validates the value passed by reference as the first argument. It calls the
"validate()" method of each of the
validation facets in turn.
Andy Wardley <http://wardley.org/>
Copyright (C) 2008-2012 Andy Wardley. All Rights Reserved.
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.