NAME

Class::AutoDB::Registration - One registration for Class::AutoDB::Registry

SYNOPSIS

This is a helper class for Class::AutoDB::Registry which represents one entry in a registry.

use Class::AutoDB::Registration;
my $registration=new Class::AutoDB::Registration
  (-class=>'Class::Person',
   -collection=>'Person',
   -keys=>qq(name string, dob integer, significant_other object, 
             friends list(object)),
   -transients=>[qw(age)],
   -auto_gets=>[qw(significant_other)]);

# Set the object's attributes
my $collection=$registration->collection;
my $class=$registration->class;
my $keys=$registration->keys;
my $transients=>$registration->transients;
my $auto_gets=>$registration->auto_gets;

DESCRIPTION

This class represents essentially raw registration information submitted via the 'register' method of Class::AutoDB::Registry. This class parses the 'keys' parameter, but does not verify that attribute names and data types are valid. This class does not talk to the database.

The 'keys' parameter consists of attribute, data type pairs, or can also be an ARRAY ref of attribute names. In the latter case the data type of each attribute is assumed to be 'string'.

BUGS and WISH-LIST

Name

Description

Priority/When




METHODS and FUNCTIONS - Initialization

Title

new

Usage

my $registration=new Class::AutoDB::Registration
  (-class=>'Person',
   -collection=>'Person',
   -keys=>qq(name string, dob integer, 
             significant_other object,friends list(object)),
   -transients=>[qw(age)],
   -auto_gets=>[qw(significant_other)]);

Function

Constructor.

Args

-class

Name of class being registered

-collection

Name of collection being registered or ARRAY ref of names

-collections

Synonym for -collection

-keys

Search keys for collection.

Can be string of comma separated attribute and data type pairs, or ARRAY ref of attributes in which case the type is assumed to be 'string'.

-transients

ARRAY ref of attributes that will not be stored.

-auto_gets

ARRAY ref of attributes that should be automatically retrieved when this object is retrieved.

Returns

Registration object

METHODS and FUNCTIONS – Simple Attributes

These are methods for getting and setting the values of simple attributes. Methods have the same name as the attribute. Some of these should be read-only (more precisely, should only be written by code internal to the object), but this is not enforced.

To get the value of attribute xxx, just say

$xxx=$object->xxx;

To set a scalar attribute, say

$object->xxx($new_value);

To clear it, say

$object->xxx(undef);

Attribute

class

Function

Name of class being registered

Access

Read-write



Attribute

collection

Function

Name of collection being registered

Returns

In scalar context, the name (if there's just one) or the first name (if there are several). In array context, list of names.

Access

Read-write



Attribute

collections

Function

Synonym for collection with slightly different return types.

Returns

In scalar context, ARRAY ref of names. In array context, ARRAY of names.

Access

Read-write



Attribute

transients

Function

Attributes that are not stored.

Returns

In scalar context, ARRAY ref of attribute names. In array context, ARRAY of attribute names.

Access

Read-write



Attribute

auto_gets

Function

Attributes that are automatically retrieved when this object is retrieved

Returns

In scalar context, ARRAY ref of attribute names. In array context, ARRAY of attribute names.

Access

Read-write

METHODS and FUNCTIONS – Other

Title

keys

Usage

my %keys=$table->keys

my $keys=$table->keys

my %keys=$table->keys($keys)

my $keys=$table->keys($keys)

Function

Get or set keys registered for this table. Returns HASH or HASH ref of key=>type pairs depending on context.

Args

$keys

Search keys for collection.

Can be string of comma separated attribute and data type pairs, or ARRAY ref of attributes in which case the type is assumed to be 'string'.

Returns

HASH or HASH ref depending on context