Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 30.049.194 Times

Tangram::Type::Extending 2.10

  Date Added: August 23, 2010  |  Visits: 567

Tangram::Type::Extending

Report Broken Link
Printer Friendly Version


Product Homepage
Download (72 downloads)

Tangram::Type::Extending is a Perl module for teaching Tangram about new types. Tangram::Type is the root of a hierarchy of classes that are responsible mapping individual field to SQL entities (columns in the simplest cases). There is one Type object per persistent field. Adding support for new types amounts to adding subclasses to Tangram::Type. WRITING NEW TYPES Tangram is organized in several subsystems, described below. Schema is the repository for information about all the persistent aspects of a system: classes, inheritance relationships, fields, etc. It also contains graph-traversal algorithms, which are not currently documented. Storage deals with objects as a whole: insertion, updating, multiple load detection, cycle handling, transactions, connections. It also serves as an entry point in the system. Storage does not manipulate fields directly. Cursor deals with polymorphic retrieval of objects. It builds SELECT statements on the basis of the information in the hash. Cursor does not manipulate fields directly either. The Type hierarchy deals with individual fields, and not with entire objects. More about it in a moment. The Expr hierarchy deals with entities on the remote side; this includes expressions proper, Filters and Remotes. Types are responsible for performing the mapping between a field of a given Perl type and a relational entity. The simplest Types merely transfer between one Perl field and one column. Sometimes it makes sense to have several mappings (and hence several Types) for the same Perl type; for example, Perl arrays can be mapped either using a link table, or one or several columns that live on the elements table. Users dont deal with Type objects directly: they indicate that a series of fields should be mapped in a certain way by putting the fields under a given typetag in the field hash. The type registers itself with Tangram by adding a typetag in the %Tangram::Schema::TYPES hash. The value is the Type object. Up to now all Types have been singletons, but this is not a rule. Anybody whos planning to write new Types should examine Scalar.pm first. It contains very simple mappings between one field and one column. A Type must implement the methods described below. Keep the following facts in mind while reading further: 1. A Type is responsible for transfering all the *direct* fields for a given *class*. This excludes inherited fields. OTOH, the same Type can be called more than once for the same object, because the same Type may be used in several classes that appear in a particular objects inheritance graph..

Requirements: No special requirements
Platforms: Linux
Keyword: Fields Libraries New One Perl Perl Module Programming Tangramtypeextending Type Types
Users rating: 0/10

License: Freeware Size: 153.6 KB
TANGRAM::TYPE::EXTENDING RELATED
Libraries  -  Class::Classgen::New 3.03
Class::Classgen::New is a Perl module that creates the new() method for classes generated by classgen. SYNOPSIS Used within classgen. The main purpose of New.pm is to write the new() method for a class generated by classgen. It provides code...
24.58 KB  
Libraries  -  Sort::Versions 1.5
Sort::Versions is a Perl 5 module for sorting of revision-like numbers. SYNOPSIS use Sort::Versions; @l = sort { versioncmp($a, $b) } qw( 1.2 1.2.0 1.2a.0 1.2.a 1.a 02.a ); ... use Sort::Versions; print lower if versioncmp(1.2, 1.2a) ==...
5.12 KB  
Libraries  -  Wx::Perl::Packager 0.07
Wx::Perl::Packager provides a module to assist packaging Wx based applications with PAR, ActiveState PerlApp / PDK and Perl A module to assist packaging Wx based applications with PAR, ActiveState PerlApp / PDK and Perl2Exe. All that is needed...
12.29 KB  
Libraries  -  Bio::Root::Object 1.4
Bio::Root::Object is a core Perl 5 object. SYNOPSIS # Use this module as the root of your inheritance tree. Object Creation require Bio::Root::Object; $dad = new Bio::Root::Object(); $son = new Bio::Root::Object(-name => Junior, -parent...
4.7 MB  
Libraries  -  Class::Meta::Type 0.53
Class::Meta::Type is a Perl module for data type validation and accessor building. SYNOPSIS package MyApp::TypeDef; use strict; use Class::Meta::Type; use IO::Socket; my $type = Class::Meta::Type->add( key => io_socket, desc =>...
61.44 KB  
Libraries  -  perlrpcgen 0.71
perlrpcgen is a Perl module that can generate Perl interfaces from ONC RPC interface definitions. SYNOPSIS perlrpcgen [--makefile] [--all] [--client] [--server] [--data] [--constants] [--module module] [--typemap typemap] [--fork] [--perl...
37.89 KB  
Libraries  -  Whitespace 1.02
Whitespace is a Perl module to cleanup various types of bogus whitespace in source files. SYNOPSIS use Whitespace; # Instantiate a whitespace object with # both input and output files specified $ws = new Whitespace($infile, $outfile); #...
4.1 KB  
Libraries  -  Tuxedo 2.08
Tuxedo is a Perl extension module for Tuxedo. This module provides the following functionality... C style interface The Tuxedo perl module gives you access to almost all of the tuxedo 8.1 apis from perl. In most cases you can take the C API...
33.79 KB  
Libraries  -  CGI::Application::Plugin::Authentication::Driver 0.11
CGI::Application::Plugin::Authentication::Driver is a Perl base module for building driver clasees for CGI::Application::Plugin::Authentication. SYNOPSIS package CGI::Application::Plugin::Authentication::Driver::MyDriver; use base...
47.1 KB  
Libraries  -  OzDB 0.02
OzDB is a database Perl interface module for OzBot. SYNOPSIS use OzDB; The OzDB Perl module handles authentication and access control for the OzBot based utility bots. The basic database format is the authentication schema. This is based on...
12.29 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.12.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
2.73 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB