View on
MetaCPAN
Barry King > Apache-Wyrd > Apache::Wyrd::Datum

Download:
Apache-Wyrd-0.98.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.98   Source  

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:

And will probably want to override:

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.

syntax highlighting: