GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  DBIX::SQLENGINE::RECORD::CLASS (3)

.ds Aq ’

NAME

DBIx::SQLEngine::Record::Class - Factory for Record Classes

CONTENTS

SYNOPSIS

<B>Setup:B> Several ways to create a class.



  $sqldb = DBIx::SQLEngine->new( ... );
 
  $class_name = $sqldb->record_class( $table_name, @traits );
 
  $sqldb->record_class( $table_name, $class_name, @traits );
 
  package My::Record;
  use DBIx::SQLEngine::Record::Class -isasubclass, Table, Hooks; 
  My::Record->table( $sqldb->table($table_name) );



<B>Basics:B> Common operations on a record.



  $record = $class_name->new_with_values(somefield => My Value);
 
  print $record->get_values( somefield );

  $record->change_values( somefield => New Value );



<B>Fetch:B> Retrieve records by ID or other query.



  $record = $class_name->select_record( $primary_key );
 
  @records = $class_name->fetch_select(%clauses)->records;



<B>Modify:B> Write changes to the data source.



  $record->insert_record();
 
  $record->update_record();
 
  $record->delete_record();



DESCRIPTION

DBIx::SQLEngine::Record::Class is a factory for Record classes.

You can use this package to create a class whose instances represent each of the rows in a SQL database table.

CLASS INSTANTIATION

    Subclass Factory

import


  package My::Record;
  use DBIx::SQLEngine::Record::Class -isasubclass;
  use DBIx::SQLEngine::Record::Class -isasubclass, @Traits;



Allows for a simple declaration of inheritance.

    Mixin Class Factory

class()


  $factory->class() : $base_class
  $factory->class( @traits ) : $class_name



Build an ad-hod class with mixins.

See the documentation for Class::MixinFactory to learn more about developing custom mixin classes.

The MixinFactory is configured with the following package names:
base_class DBIx::SQLEngine::Record::Base
mixin_prefix DBIx::SQLEngine::Record
mixed_prefix DBIx::SQLEngine::Record::AUTO

    Record Class Creation

new_subclass()


  DBIx::SQLEngine::Record::Class->new_subclass( %options ) : $class_name



Subclass constructor. Accepts a hash of options with the following keys:
’name’ If you do not supply a class name, one is generated based on the table name, which must be provided.

If the class name does not contain a :: package separator, it is prepended with DBIx::SQLEngine::Record::Auto:: to keep the namespace conflict-free.

’table’ You may provde a DBIx::SQLEngine::Schema::Table object or create the class without it and initialize it later.
’traits’ You may pass a reference to one or more trait names as a traits argument.

subclass_for_table()


  DBIx::SQLEngine::Record::Class->subclass_for_table( $table, $name, @traits ) : $class_name



Convenience method for common parameters. You are expected to provde a DBIx::SQLEngine::Schema::Table object.

generate_subclass_name_for_table() Called internally by new_subclass() if no class name is provided.
Cross-constructors from other objects:
SQLEngine->record_class()


  $sqldb->record_class( $tablename ) : $class_name
  $sqldb->record_class( $tablename, $name ) : $class_name
  $sqldb->record_class( $tablename, $name, @traits ) : $class_name



Convenience method to create a record class with the given table name.

Table->record_class()


  $table->record_class( ) : $class_name
  $table->record_class( $name ) : $class_name
  $table->record_class( $name, @traits ) : $class_name



Convenience method to create a record class for a given table object.

RECORD CLASS TRAITS

Depending on application, there are several different sets of features that one might or might not wish to have available on their record class.

    Included Trait Classes

The following trait classes are included with this distribution:
Accessors Generates methods for getting and setting values in each record object.
Cache Provides a caching layer to avoid repeated selections of the same information.
Hooks Adds ok_, pre_, and post_ hooks to key methods. Any number of code refs can be registered to be called at key times, by class or for specific instances.

SEE ALSO

See DBIx::SQLEngine for the overall interface and developer documentation.

See DBIx::SQLEngine::Docs::ReadMe for general information about this distribution, including installation and license information.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 SQLENGINE::RECORD::CLASS (3) 2004-11-21

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.