NAME
Apache::Wyrd::Datum - Abstract data-checking objects for Wyrd Input objects
SYNOPSIS
use Apache::Wyrd::Datum;
my $ives = Apache::Wyrd::Datum::Set->new(
'kits',
{
options => ['kits', 'cats', 'sacks', 'wives'],
not_null => 0
}
);
my ($are_ostriches_ok, $why_not) = $ives->check('ostriches')
my $is_cats = $ives->set('cats');
if ($is_cats) {
print "yes, it can be cats"
} else {
print "no, cats are out"
}
my $suggest_something_then = $ives->suggest;
OBJECTS
This module defines the following objects:
- Apache::Wyrd::Datum
- Apache::Wyrd::Datum::Char
- Apache::Wyrd::Datum::Varchar
- Apache::Wyrd::Datum::Text
- Apache::Wyrd::Datum::Set
- Apache::Wyrd::Datum::Enum
DESCRIPTION
These objects are roughly tied to SQL data types and HTML inputs for providing data objects to higher-level objects. By abstracting the data class, the definintion of a "valid" value can be abstracted from the SQL or Wyrd device it will be used to check the values of.
These are used by Apache::Wyrd::Input
-derived classes to check user-input.
METHODS
All Classes have the following methods:
- new
-
my $data = Apache::Wyrd::Datum->new($value, \%params);
- set
-
$data->set('value') #sets data to value (if strict, will return undef and fail to set)
- get
-
my $value = $data->get('value'); #Return value (always a scalar)
- check
-
$data->check('somevalue') #returns undef on invalid data. #Second returned param is an #[optional] error message.
- type
-
$data->type #returns Data type: Char, Varchar, etc. in lower case
- suggest
-
$data->suggest #returns a suggested value [if implemented].
DEVELOPMENT
Derived classes of Apache::Wyrd::Datum should override:
_type
_check_params
_check_value
And will probably want to override:
_default_value
_raise_exception
PARAMS
All Datum objects are initialized with
- Char
-
params: strict, length, not-null
- Varchar
-
params: strict, length, not-null
- Text
-
params: strict, not-null
- Blob
-
params: strict, not-null
- Set
-
params: strict, not-null, options (arrayref of possible options)
- Enum
-
params: strict, not-null, options (arrayref of possible options)
AUTHOR
Barry King <wyrd@nospam.wyrdwright.com>
LICENSE
Copyright 2002-2007 Wyrdwright, Inc. and licensed under the GNU GPL.
See LICENSE under the documentation for Apache::Wyrd
.
3 POD Errors
The following errors were encountered while parsing the POD:
- Around line 402:
You forgot a '=back' before '=head1'
- Around line 440:
'=item' outside of any '=over'
- Around line 464:
You forgot a '=back' before '=head1'