object relational
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 2992
Object Relational Membrane 2a5
Object Relational Membrane is a Python package that provides the functionality of an object relational layer like EJB. more>>
Object Relational Membrane is a Python package that provides the functionality of an object relational layer like EJB or other persistence storage systems.
Object Relational Membrane is a thin compatibility layer between SQL table layouts and Object Oriented Python. While providing a good deal of functionality, it tries to be as small and simple as possible. It currently works with PostgreSQL and Gadfly.
Adapters for Firebird and MySQL are planed.
Enhancements:
- A number of small changes and enhancements.
- The last release previous to a "beta" release.
<<lessObject Relational Membrane is a thin compatibility layer between SQL table layouts and Object Oriented Python. While providing a good deal of functionality, it tries to be as small and simple as possible. It currently works with PostgreSQL and Gadfly.
Adapters for Firebird and MySQL are planed.
Enhancements:
- A number of small changes and enhancements.
- The last release previous to a "beta" release.
Download (0.17MB)
Added: 2007-01-23 License: GPL (GNU General Public License) Price:
1005 downloads
Object::Relation::Meta::Type 0.1.0
Object::Relation::Meta::Type is an Object::Relation Data type validation and accessor building. more>>
Object::Relation::Meta::Type is an Object::Relation Data type validation and accessor building.
Synopsis
Object::Relation::Meta::Type->add(
key => "state",
name => "State",
builder => Object::Relation::Meta::AccessorBuilder,
raw => sub { ref $_[0] ? shift->value : shift },
store_raw => sub { shift->store_value },
check => sub {
UNIVERSAL::isa($_[0], Object::Relation::DataType::State)
or throw_invalid([Value "[_1]" is not a valid [_2] object,
$_[0], Object::Relation::DataType::State]);
throw_invalid([Cannot assign permanent state])
if $_[0] == Object::Relation::DataType::State->PERMANENT;
}
);
This class subclasses Class::Meta::Type to provide additional attributes. These attributes can optionally be set via the call to new(), and may be fetched via their accessors.
<<lessSynopsis
Object::Relation::Meta::Type->add(
key => "state",
name => "State",
builder => Object::Relation::Meta::AccessorBuilder,
raw => sub { ref $_[0] ? shift->value : shift },
store_raw => sub { shift->store_value },
check => sub {
UNIVERSAL::isa($_[0], Object::Relation::DataType::State)
or throw_invalid([Value "[_1]" is not a valid [_2] object,
$_[0], Object::Relation::DataType::State]);
throw_invalid([Cannot assign permanent state])
if $_[0] == Object::Relation::DataType::State->PERMANENT;
}
);
This class subclasses Class::Meta::Type to provide additional attributes. These attributes can optionally be set via the call to new(), and may be fetched via their accessors.
Download (0.23MB)
Added: 2006-09-02 License: Perl Artistic License Price:
1149 downloads
Object::Relation::Meta::Class::Schema 0.1.0
Object::Relation::Meta::Class::Schema is a Perl module for Object::Relation database store builder. more>>
Object::Relation::Meta::Class::Schema is a Perl module for Object::Relation database store builder.
This module is provides metadata for all Object::Relation classes while building a storage schema. Loading Object::Relation::Schema causes it to be used instead of Object::Relation::Meta::Class. This is so that extra metadata methods are available that are useful in constructing the schema, but are not otherwise useful when an application is actually in use.
At this point, those attributes tend to be database-specific. Once other types of data stores are added (XML, LDAP, etc.), other attributes may be added to allow their schemas to be built, as well.
<<lessThis module is provides metadata for all Object::Relation classes while building a storage schema. Loading Object::Relation::Schema causes it to be used instead of Object::Relation::Meta::Class. This is so that extra metadata methods are available that are useful in constructing the schema, but are not otherwise useful when an application is actually in use.
At this point, those attributes tend to be database-specific. Once other types of data stores are added (XML, LDAP, etc.), other attributes may be added to allow their schemas to be built, as well.
Download (0.024MB)
Added: 2006-09-21 License: Perl Artistic License Price:
1128 downloads
Object::Mediator 0.02
Object::Mediator is a generic object persistence framework. more>>
Object::Mediator is a generic object persistence framework.
SYNOPSIS
package Persistent;
use base qw( Object::Mediator );
__PACKAGE__->mk_attr ( qw(foo bar) );
sub _set_id {
my $self = shift;
my $id = generate_identity();
$self->identity( $id );
}
sub _insert {
my $self = shift;
$db_handle->insert ( $self->id, $self->foo, $self->bar );
}
sub _update {
my $self = shift;
$db_handle->update ( $self );
}
sub _delete {
my $self = shift;
$db_handle->delete ( $self->id );
}
sub _select {
my $self = shift;
my ( $foo, $bar ) = $db_handle->select ( $self->id );
$self->foo ( $foo );
$self->bar ( $bar );
}
Object::Mediator attempts to be simple and fairly minimalistic object mapping framework. Main aims of development were: usage simplicity, end user transparency, database independency and minimization of database interaction with some kind of in-memory object state control system.
<<lessSYNOPSIS
package Persistent;
use base qw( Object::Mediator );
__PACKAGE__->mk_attr ( qw(foo bar) );
sub _set_id {
my $self = shift;
my $id = generate_identity();
$self->identity( $id );
}
sub _insert {
my $self = shift;
$db_handle->insert ( $self->id, $self->foo, $self->bar );
}
sub _update {
my $self = shift;
$db_handle->update ( $self );
}
sub _delete {
my $self = shift;
$db_handle->delete ( $self->id );
}
sub _select {
my $self = shift;
my ( $foo, $bar ) = $db_handle->select ( $self->id );
$self->foo ( $foo );
$self->bar ( $bar );
}
Object::Mediator attempts to be simple and fairly minimalistic object mapping framework. Main aims of development were: usage simplicity, end user transparency, database independency and minimization of database interaction with some kind of in-memory object state control system.
Download (0.006MB)
Added: 2007-05-18 License: Perl Artistic License Price:
890 downloads
Object::Declare 0.13
Object::Declare is a Perl module for declarative object constructor. more>>
Object::Declare is a Perl module for declarative object constructor.
SYNOPSIS
use Object::Declare [MyApp::Column, MyApp::Param];
my %objects = declare {
param foo =>
!is global,
is immutable,
valid_values are qw( more values );
column bar =>
field1 is value,
field2 is some_other_value;
};
print $objects{foo}; # a MyApp::Param object
print $objects{bar}; # a MyApp::Column object
This module exports one function, declare, for building named objects with a declarative syntax, similar to how Jifty::DBI::Schema defines its columns.
In list context, declare returns a list of name/object pairs in the order of declaration (allowing duplicates), suitable for putting into a hash. In scalar context, declare returns a hash reference.
Using a flexible import interface, one can change exported helper functions names (declarator), words to link labels and values together (copula), and the table of named classes to declare (mapping):
use Object::Declare
declarator => [declare], # list of declarators
copula => { # list of words, or a map
is => , # from copula to prefixes for
are => , # labels built with that copula
}
aliases => { # list of label aliases:
more => less, # turns "is more" into "is less"
# and "more is 1" into "less is 1"
},
mapping => {
column => MyApp::Column, # class name to call ->new to
param => sub { # arbitrary coderef also works
bless(@_, MyApp::Param);
},
};
After the declarator block finishes execution, all helper functions are removed from the package. Same-named functions (such as &is and &are) that existed before the declarators execution are restored correctly.
<<lessSYNOPSIS
use Object::Declare [MyApp::Column, MyApp::Param];
my %objects = declare {
param foo =>
!is global,
is immutable,
valid_values are qw( more values );
column bar =>
field1 is value,
field2 is some_other_value;
};
print $objects{foo}; # a MyApp::Param object
print $objects{bar}; # a MyApp::Column object
This module exports one function, declare, for building named objects with a declarative syntax, similar to how Jifty::DBI::Schema defines its columns.
In list context, declare returns a list of name/object pairs in the order of declaration (allowing duplicates), suitable for putting into a hash. In scalar context, declare returns a hash reference.
Using a flexible import interface, one can change exported helper functions names (declarator), words to link labels and values together (copula), and the table of named classes to declare (mapping):
use Object::Declare
declarator => [declare], # list of declarators
copula => { # list of words, or a map
is => , # from copula to prefixes for
are => , # labels built with that copula
}
aliases => { # list of label aliases:
more => less, # turns "is more" into "is less"
# and "more is 1" into "less is 1"
},
mapping => {
column => MyApp::Column, # class name to call ->new to
param => sub { # arbitrary coderef also works
bless(@_, MyApp::Param);
},
};
After the declarator block finishes execution, all helper functions are removed from the package. Same-named functions (such as &is and &are) that existed before the declarators execution are restored correctly.
Download (0.027MB)
Added: 2006-10-18 License: Perl Artistic License Price:
1101 downloads
Object::AutoAccessor 0.06
Object::AutoAccessor is an accessor class by using AUTOLOAD. more>>
Object::AutoAccessor is an accessor class by using AUTOLOAD.
SYNOPSIS
use Object::AutoAccessor;
my $struct = {
foo => {
bar => {
baz => BUILD OK,
},
},
};
# Now lets easily accomplish it.
my $obj = Object::AutoAccessor->build($struct);
print $obj->foo->bar->baz; # prints BUILD OK
# OK, now reverse it!
$obj->foo->bar->baz(TO HASHREF);
my $hashref = $obj->as_hashref;
print $hashref->{foo}->{bar}->{baz}; # prints TO HASHREF;
# Of course, new() can be used.
$obj = Object::AutoAccessor->new();
# setter methods
$obj->foo(bar);
$obj->set_foo(bar);
$obj->param(foo => bar);
# getter methods
$obj->foo();
$obj->get_foo();
$obj->param(foo);
# $obj->param() is compatible with HTML::Template->param()
my @keywords = $obj->param();
my $val = $obj->param(hash);
$obj->param(key => val);
my $tmpl = HTML::Template->new(..., associate => [$obj], ...);
Object::AutoAccessor is a Accessor class to get/set values by AUTOLOADed method automatically. Moreover, param() is compatible with HTML::Template module, so you can use Object::AutoAccessor object for HTML::Templates associate option.
<<lessSYNOPSIS
use Object::AutoAccessor;
my $struct = {
foo => {
bar => {
baz => BUILD OK,
},
},
};
# Now lets easily accomplish it.
my $obj = Object::AutoAccessor->build($struct);
print $obj->foo->bar->baz; # prints BUILD OK
# OK, now reverse it!
$obj->foo->bar->baz(TO HASHREF);
my $hashref = $obj->as_hashref;
print $hashref->{foo}->{bar}->{baz}; # prints TO HASHREF;
# Of course, new() can be used.
$obj = Object::AutoAccessor->new();
# setter methods
$obj->foo(bar);
$obj->set_foo(bar);
$obj->param(foo => bar);
# getter methods
$obj->foo();
$obj->get_foo();
$obj->param(foo);
# $obj->param() is compatible with HTML::Template->param()
my @keywords = $obj->param();
my $val = $obj->param(hash);
$obj->param(key => val);
my $tmpl = HTML::Template->new(..., associate => [$obj], ...);
Object::AutoAccessor is a Accessor class to get/set values by AUTOLOADed method automatically. Moreover, param() is compatible with HTML::Template module, so you can use Object::AutoAccessor object for HTML::Templates associate option.
Download (0.006MB)
Added: 2007-05-18 License: Perl Artistic License Price:
889 downloads
Object::PerlDesignPatterns 0.03
Object::PerlDesignPatterns is a Perl architecture for structuring and refactoring large programs. more>>
Object::PerlDesignPatterns is a Perl architecture for structuring and refactoring large programs.
SYNOPSIS
lynx perldesignpatterns.html
perldoc Object::PerlDesignPatterns
ABSTRACT
Documentation: Ideas for keeping programs fun to hack on even after they grow large. Object, lambda, hybrid structures, Perl specific methods of refactoring, object tricks, anti-patterns, non-structural recurring code patterns.
PerlDesignPatterns is a free book sporting:
Ideas for keeping programs fun to hack on even after they grow large. Object, lambda, hybrid structures, Perl specific methods of refactoring, object tricks, anti-patterns, non-structural recurring code patterns.
Feel free to jump right in and make corrections, suggestions, ask questions, play editor, or just rant. Start in http://www.perldesignpatterns.com/?TinyWiki to learn about the TinyWiki software, make a page for yourself, play with editing that, perhaps make a link from the GuestLog to your page. The markup language is ASCII based - it couldnt be any easier.
This document is a snapshot of the current state of the Wiki, automatically compiled from hundreds of individual sections by a Perl script.
<<lessSYNOPSIS
lynx perldesignpatterns.html
perldoc Object::PerlDesignPatterns
ABSTRACT
Documentation: Ideas for keeping programs fun to hack on even after they grow large. Object, lambda, hybrid structures, Perl specific methods of refactoring, object tricks, anti-patterns, non-structural recurring code patterns.
PerlDesignPatterns is a free book sporting:
Ideas for keeping programs fun to hack on even after they grow large. Object, lambda, hybrid structures, Perl specific methods of refactoring, object tricks, anti-patterns, non-structural recurring code patterns.
Feel free to jump right in and make corrections, suggestions, ask questions, play editor, or just rant. Start in http://www.perldesignpatterns.com/?TinyWiki to learn about the TinyWiki software, make a page for yourself, play with editing that, perhaps make a link from the GuestLog to your page. The markup language is ASCII based - it couldnt be any easier.
This document is a snapshot of the current state of the Wiki, automatically compiled from hundreds of individual sections by a Perl script.
Download (0.55MB)
Added: 2006-07-31 License: Perl Artistic License Price:
1180 downloads
Object::Trampoline 1.25
Object::Trampoline is a Perl module for delay object construction. more>>
Object::Trampoline is a Perl module for delay object construction, and optionally using the class module, until a method is actually dispatched, simplifies runtime definition of handler classes.
SYNOPSIS
# adding "use_class" will perform an "eval use $class"
# at the point where the object is first accessed.
use Object::Trampoline;
# the real class name is added to the normal constructor
# and Object::Trampoline used instead. the destination
# class constructor is called when object is actually
# used for something.
my $dbh = Object::Trampoline->connect( DBI, $dsn, $user, $pass, $conf );
my $sth = $dbh->prepare( select foo from bar );
# or specify the package and args from a config file
# or via inherited data.
#
# the constructor lives in the destination class
# and has nothing to do with Object::Trampoline.
my %config = Config->read( $config_file_path );
my ( $class, $const, @argz )
= @config{ qw( class const args ) };
my $handle = Object::Trampoline->$const( $class, @argz );
# at this point ref $handle is Object::Trampoline::Bounce.
$handle->frobnicate( @stuff );
# at this point ref $handle is $class
# there are times when it is helpful to delay using
# the objects class module until the object is
# instantiated. O::T::U adds the callers package
# and a "use $class" before the constructor.
my $lazy = Object::Trampoline::Use->frobnicate( $class, @stuff );
my $result = $lazy->susan( dessert );
There are times when constructing an object is expensive or has to be delayed -- database handles in heavily forked apache servers are one example. This module creates a "trampoline" object: when called it replaces the object you have with the object you want. The module itself consists only of two AUTOLOADS: one with captures the constructor call, the other the first method call. The first class blesses a closure which creates the necessary object into the second class, which replces $_[0] with a new object and re-dispatches the call into the proper class.
Using an autoload as the constructor allows Object::Trampoline to use whatever constructor name the "real" class uses without having to pass it as another argument.
<<lessSYNOPSIS
# adding "use_class" will perform an "eval use $class"
# at the point where the object is first accessed.
use Object::Trampoline;
# the real class name is added to the normal constructor
# and Object::Trampoline used instead. the destination
# class constructor is called when object is actually
# used for something.
my $dbh = Object::Trampoline->connect( DBI, $dsn, $user, $pass, $conf );
my $sth = $dbh->prepare( select foo from bar );
# or specify the package and args from a config file
# or via inherited data.
#
# the constructor lives in the destination class
# and has nothing to do with Object::Trampoline.
my %config = Config->read( $config_file_path );
my ( $class, $const, @argz )
= @config{ qw( class const args ) };
my $handle = Object::Trampoline->$const( $class, @argz );
# at this point ref $handle is Object::Trampoline::Bounce.
$handle->frobnicate( @stuff );
# at this point ref $handle is $class
# there are times when it is helpful to delay using
# the objects class module until the object is
# instantiated. O::T::U adds the callers package
# and a "use $class" before the constructor.
my $lazy = Object::Trampoline::Use->frobnicate( $class, @stuff );
my $result = $lazy->susan( dessert );
There are times when constructing an object is expensive or has to be delayed -- database handles in heavily forked apache servers are one example. This module creates a "trampoline" object: when called it replaces the object you have with the object you want. The module itself consists only of two AUTOLOADS: one with captures the constructor call, the other the first method call. The first class blesses a closure which creates the necessary object into the second class, which replces $_[0] with a new object and re-dispatches the call into the proper class.
Using an autoload as the constructor allows Object::Trampoline to use whatever constructor name the "real" class uses without having to pass it as another argument.
Download (0.009MB)
Added: 2007-05-19 License: Perl Artistic License Price:
888 downloads
Ace::Object 1.89
Ace::Object is a Perl module to manipulate Ace Data Objects. more>>
Ace::Object is a Perl module to manipulate Ace Data Objects.
SYNOPSIS
# open database connection and get an object
use Ace;
$db = Ace->connect(-host => beta.crbm.cnrs-mop.fr,
-port => 20000100);
$sequence = $db->fetch(Sequence => D12345);
# Inspect the object
$r = $sequence->at(Visible.Overlap_Right);
@row = $sequence->row;
@col = $sequence->col;
@tags = $sequence->tags;
# Explore object substructure
@more_tags = $sequence->at(Visible)->tags;
@col = $sequence->at("Visible.$more_tags[1]")->col;
# Follow a pointer into database
$r = $sequence->at(Visible.Overlap_Right)->fetch;
$next = $r->at(Visible.Overlap_left)->fetch;
# Classy way to do the same thing
$r = $sequence->Overlap_right;
$next = $sequence->Overlap_left;
# Pretty-print object
print $sequence->asString;
print $sequence->asTabs;
print $sequence->asHTML;
# Update object
$sequence->replace(Visible.Overlap_Right,$r,M55555);
$sequence->add(Visible.Homology,GR91198);
$sequence->delete(Source.Clone,MBR122);
$sequence->commit();
# Rollback changes
$sequence->rollback()
# Get errors
print $sequence->error;
Ace::Object is the base class for objects returned from ACEDB databases. Currently there is only one type of Ace::Object, but this may change in the future to support more interesting object-specific behaviors.
Using the Ace::Object interface, you can explore the internal structure of an Ace::Object, retrieve its content, and convert it into various types of text representation. You can also fetch a representation of any object as a GIF image.
If you have write access to the databases, add new data to an object, replace existing data, or kill it entirely. You can also create a new object de novo and write it into the database.
<<lessSYNOPSIS
# open database connection and get an object
use Ace;
$db = Ace->connect(-host => beta.crbm.cnrs-mop.fr,
-port => 20000100);
$sequence = $db->fetch(Sequence => D12345);
# Inspect the object
$r = $sequence->at(Visible.Overlap_Right);
@row = $sequence->row;
@col = $sequence->col;
@tags = $sequence->tags;
# Explore object substructure
@more_tags = $sequence->at(Visible)->tags;
@col = $sequence->at("Visible.$more_tags[1]")->col;
# Follow a pointer into database
$r = $sequence->at(Visible.Overlap_Right)->fetch;
$next = $r->at(Visible.Overlap_left)->fetch;
# Classy way to do the same thing
$r = $sequence->Overlap_right;
$next = $sequence->Overlap_left;
# Pretty-print object
print $sequence->asString;
print $sequence->asTabs;
print $sequence->asHTML;
# Update object
$sequence->replace(Visible.Overlap_Right,$r,M55555);
$sequence->add(Visible.Homology,GR91198);
$sequence->delete(Source.Clone,MBR122);
$sequence->commit();
# Rollback changes
$sequence->rollback()
# Get errors
print $sequence->error;
Ace::Object is the base class for objects returned from ACEDB databases. Currently there is only one type of Ace::Object, but this may change in the future to support more interesting object-specific behaviors.
Using the Ace::Object interface, you can explore the internal structure of an Ace::Object, retrieve its content, and convert it into various types of text representation. You can also fetch a representation of any object as a GIF image.
If you have write access to the databases, add new data to an object, replace existing data, or kill it entirely. You can also create a new object de novo and write it into the database.
Download (0.29MB)
Added: 2006-10-12 License: Perl Artistic License Price:
1108 downloads
The Object Oriented Database Kit 0.5.8.1
The Object Oriented Database Kit is a set of tools to help database applications developers to handle database communication. more>>
The Object Oriented Database Kit is a set of tools to help database applications developers to handle database communication, reporting, and printing. It has a solid, stable, and easy to use API. The project is also GUI toolkit agnostic and portable.
<<less Download (0.018MB)
Added: 2007-06-23 License: LGPL (GNU Lesser General Public License) Price:
860 downloads
Rose::Object 0.84
Rose::Object is a simple object base class. more>>
Rose::Object is a simple object base class.
SYNOPSIS
package MyObject;
use Rose::Object;
our @ISA = qw(Rose::Object);
sub foo { ... }
sub bar { ... }
...
my $o = MyObject->new(foo => abc, bar => 5);
...
Rose::Object is a generic object base class. It provides very little functionality, but a healthy dose of convention.
METHODS
new PARAMS
Constructs a new, empty, hash-based object based on PARAMS, where PARAMS are name/value pairs, and then calls init (see below), passing PARAMS to it unmodified.
init PARAMS
Given a list of name/value pairs in PARAMS, calls the object method of each name, passing the corresponding value as an argument. The methods are called in the order that they appear in PARAMS. For example:
$o->init(foo => 1, bar => 2);
is equivalent to the sequence:
$o->foo(1);
$o->bar(2);
<<lessSYNOPSIS
package MyObject;
use Rose::Object;
our @ISA = qw(Rose::Object);
sub foo { ... }
sub bar { ... }
...
my $o = MyObject->new(foo => abc, bar => 5);
...
Rose::Object is a generic object base class. It provides very little functionality, but a healthy dose of convention.
METHODS
new PARAMS
Constructs a new, empty, hash-based object based on PARAMS, where PARAMS are name/value pairs, and then calls init (see below), passing PARAMS to it unmodified.
init PARAMS
Given a list of name/value pairs in PARAMS, calls the object method of each name, passing the corresponding value as an argument. The methods are called in the order that they appear in PARAMS. For example:
$o->init(foo => 1, bar => 2);
is equivalent to the sequence:
$o->foo(1);
$o->bar(2);
Download (0.028MB)
Added: 2007-05-21 License: Perl Artistic License Price:
886 downloads
Object::InsideOut 3.17
Object::InsideOut is a comprehensive inside-out object support module. more>>
Object::InsideOut is a comprehensive inside-out object support module.
SYNOPSIS
package My::Class; {
use Object::InsideOut;
# Numeric field
# With combined get+set accessor
my @data
:Field
:Type(numeric)
:Accessor(data);
# Takes INPUT (or input, etc.) as a mandatory parameter to ->new()
my %init_args :InitArgs = (
INPUT => {
Regex => qr/^input$/i,
Mandatory => 1,
Type => numeriC,
},
);
# Handle class-specific args as part of ->new()
sub init :Init
{
my ($self, $args) = @_;
# Put input parameter into data field
$self->set(@data, $args->{INPUT});
}
}
package My::Class::Sub; {
use Object::InsideOut qw(My::Class);
# List field
# With standard get_X and set_X accessors
# Takes INFO as an optional list parameter to ->new()
# Value automatically added to @info array
# Defaults to [ empty ]
my @info
:Field
:Type(list)
:Standard(info)
:Arg(Name => INFO, Default => empty);
}
package Foo; {
use Object::InsideOut;
# Field containing My::Class objects
# With combined accessor
# Plus automatic parameter processing on object creation
my @foo
:Field
:Type(My::Class)
:All(foo);
}
package main;
my $obj = My::Class::Sub->new(Input => 69);
my $info = $obj->get_info(); # [ empty ]
my $data = $obj->data(); # 69
$obj->data(42);
$data = $obj->data(); # 42
$obj = My::Class::Sub->new(INFO => help, INPUT => 86);
$data = $obj->data(); # 86
$info = $obj->get_info(); # [ help ]
$obj->set_info(qw(foo bar baz));
$info = $obj->get_info(); # [ foo, bar, baz ]
my $foo_obj = Foo->new(foo => $obj);
$foo_obj->foo()->data(); # 86
<<lessSYNOPSIS
package My::Class; {
use Object::InsideOut;
# Numeric field
# With combined get+set accessor
my @data
:Field
:Type(numeric)
:Accessor(data);
# Takes INPUT (or input, etc.) as a mandatory parameter to ->new()
my %init_args :InitArgs = (
INPUT => {
Regex => qr/^input$/i,
Mandatory => 1,
Type => numeriC,
},
);
# Handle class-specific args as part of ->new()
sub init :Init
{
my ($self, $args) = @_;
# Put input parameter into data field
$self->set(@data, $args->{INPUT});
}
}
package My::Class::Sub; {
use Object::InsideOut qw(My::Class);
# List field
# With standard get_X and set_X accessors
# Takes INFO as an optional list parameter to ->new()
# Value automatically added to @info array
# Defaults to [ empty ]
my @info
:Field
:Type(list)
:Standard(info)
:Arg(Name => INFO, Default => empty);
}
package Foo; {
use Object::InsideOut;
# Field containing My::Class objects
# With combined accessor
# Plus automatic parameter processing on object creation
my @foo
:Field
:Type(My::Class)
:All(foo);
}
package main;
my $obj = My::Class::Sub->new(Input => 69);
my $info = $obj->get_info(); # [ empty ]
my $data = $obj->data(); # 69
$obj->data(42);
$data = $obj->data(); # 42
$obj = My::Class::Sub->new(INFO => help, INPUT => 86);
$data = $obj->data(); # 86
$info = $obj->get_info(); # [ help ]
$obj->set_info(qw(foo bar baz));
$info = $obj->get_info(); # [ foo, bar, baz ]
my $foo_obj = Foo->new(foo => $obj);
$foo_obj->foo()->data(); # 86
Download (0.010MB)
Added: 2007-05-18 License: Perl Artistic License Price:
889 downloads
Basset::Object 1.04
Basset::Object is a Perl module used to create objects. more>>
Basset::Object is a Perl module used to create objects.
This is my ultimate object creation toolset to date. It has roots in Mail::Bulkmail, Text::Flowchart, and the unreleased abstract object constructors that Ive tooled around with in the past.
If you want an object to be compatible with anything else Ive written, then subclass it off of here.
Of course, you dont have to use this to create subclasses, but youll run the risk of making something with an inconsistent interface vs. the rest of the system. Thatll confuse people and make them unhappy. So I recommend subclassing off of here to be consistent. Of course, you may not like these objects, but they do work well and are consistent. Consistency is very important in interface design, IMHO.
<<lessThis is my ultimate object creation toolset to date. It has roots in Mail::Bulkmail, Text::Flowchart, and the unreleased abstract object constructors that Ive tooled around with in the past.
If you want an object to be compatible with anything else Ive written, then subclass it off of here.
Of course, you dont have to use this to create subclasses, but youll run the risk of making something with an inconsistent interface vs. the rest of the system. Thatll confuse people and make them unhappy. So I recommend subclassing off of here to be consistent. Of course, you may not like these objects, but they do work well and are consistent. Consistency is very important in interface design, IMHO.
Download (0.14MB)
Added: 2007-06-20 License: GPL (GNU General Public License) Price:
856 downloads
Firebird Relational Database 2.0 / 2.1 Beta 1
Firebird Relational Database is a cluster of databases through JDBC. more>>
Firebird is a relational database offering many ANSI SQL-99 features that runs on Linux, Windows, and a variety of Unix platforms.
Firebird offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers. Firebird Relational Database has been used in production systems and under a variety of names since 1981.
Firebird is a commercially independent project of C and C++ programmers, technical advisors and supporters developing and enhancing a multi-platform relational database management system based on the source code released by Inprise Corp (now known as Borland Software Corp) on 25 July, 2000 under the InterBase Public License v.1.0.
New code modules added to Firebird are licensed under the Initial Developers Public License. (IDPL). The original modules released by Inprise are licensed under the InterBase Public License v.1.0. Both licences are modified versions of the Mozilla Public License v.1.1.
Installing:
In order to install the firebird version of IB 6.0 you will need to perform the following steps:
1. Get the required packages:
Get the glibc update from RedHat, the one I used
was from ftp://updates.redhat.com/7.0/i386/glibc-2.2-5.i386.rpm
Get ncurses4 from
ftp://carrier.ision.net/pub/ftp.redhat.com/i386/en/RedHat/RPMS/ncurses4-5.0-2.i386.rpm
or another redhat mirror.
Get Firebird from
ftp://firebird.sourceforge.net/pub/firebird/release/FirebirdSS-0.9-1.i386.rpm
2. Prepare the installation:
Log in as root.
Use a plain text console to do this and be sure
that all Gnome desktops are closed.
(One user reported that the Gnome desktop
(apparently ICEwm)
blocked port 3050. I could not reproduce this
here, but it seems that it uses port numbers
that arent assigned in /etc/services for own
purposes)
3. Add localhost.localdomain to /etc/hosts.equiv:
echo localhost.localdomain >>/etc/hosts.equiv
4. Change to the directory where you have placed
the downloaded packages.
5. Install the glibc update:
rpm --install --force glibc-2.2-5.i386.rpm
6. Install libncurses.so.4:
rpm --install --force ncurses4-5.0-2.i386.rpm
7. Install Firebird:
rpm --install --force FirebirdSS-0.9-1.i386.rpm
8. Add /opt/interbase/bin to your path:
You can either change /etc/profile
or do
export PATH=$PATH: /opt/interbase/bin
or
change the profiles in your users home directories
9. Check that all went well:
Read /opt/interbase/SYSDBA.password
to get your SYSDBA password.
gsec -display
should display the list of known users
(SYSDBA only after a fresh install)
isql /opt/interbase/examples/employee.gdb
SQL> SHOW TABLES;
should display all tables from this database
SQL>quit;
<<lessFirebird offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers. Firebird Relational Database has been used in production systems and under a variety of names since 1981.
Firebird is a commercially independent project of C and C++ programmers, technical advisors and supporters developing and enhancing a multi-platform relational database management system based on the source code released by Inprise Corp (now known as Borland Software Corp) on 25 July, 2000 under the InterBase Public License v.1.0.
New code modules added to Firebird are licensed under the Initial Developers Public License. (IDPL). The original modules released by Inprise are licensed under the InterBase Public License v.1.0. Both licences are modified versions of the Mozilla Public License v.1.1.
Installing:
In order to install the firebird version of IB 6.0 you will need to perform the following steps:
1. Get the required packages:
Get the glibc update from RedHat, the one I used
was from ftp://updates.redhat.com/7.0/i386/glibc-2.2-5.i386.rpm
Get ncurses4 from
ftp://carrier.ision.net/pub/ftp.redhat.com/i386/en/RedHat/RPMS/ncurses4-5.0-2.i386.rpm
or another redhat mirror.
Get Firebird from
ftp://firebird.sourceforge.net/pub/firebird/release/FirebirdSS-0.9-1.i386.rpm
2. Prepare the installation:
Log in as root.
Use a plain text console to do this and be sure
that all Gnome desktops are closed.
(One user reported that the Gnome desktop
(apparently ICEwm)
blocked port 3050. I could not reproduce this
here, but it seems that it uses port numbers
that arent assigned in /etc/services for own
purposes)
3. Add localhost.localdomain to /etc/hosts.equiv:
echo localhost.localdomain >>/etc/hosts.equiv
4. Change to the directory where you have placed
the downloaded packages.
5. Install the glibc update:
rpm --install --force glibc-2.2-5.i386.rpm
6. Install libncurses.so.4:
rpm --install --force ncurses4-5.0-2.i386.rpm
7. Install Firebird:
rpm --install --force FirebirdSS-0.9-1.i386.rpm
8. Add /opt/interbase/bin to your path:
You can either change /etc/profile
or do
export PATH=$PATH: /opt/interbase/bin
or
change the profiles in your users home directories
9. Check that all went well:
Read /opt/interbase/SYSDBA.password
to get your SYSDBA password.
gsec -display
should display the list of known users
(SYSDBA only after a fresh install)
isql /opt/interbase/examples/employee.gdb
SQL> SHOW TABLES;
should display all tables from this database
SQL>quit;
Download (1.4MB)
Added: 2007-07-02 License: MPL (Mozilla Public License) Price:
847 downloads
Perlbug::Object 2.93
Perlbug::Object is a object handler for Perlbug database. more>>
Perlbug::Object is a object handler for Perlbug database.
Handles Perlbug database objects, typically bug, group, message, patch, note, test, user, and severity, status etc....
Methods included to recognise objects by their id or by their also unique name.
SYNOPSIS
my $o_obj = Perlbug::Object->new(%init); # see L
$o_obj = $o_obj->read($oid); # data
my $name = $o_obj->data(name); # Bug
# ALL bugids (optionally) constrained by sql where clause
my @ids = $o_obj->ids($where); # where
# Relation ids
my @patchids = $o_obj->rel_ids(patch); # relids
print = $o_obj->format(h);
<<lessHandles Perlbug database objects, typically bug, group, message, patch, note, test, user, and severity, status etc....
Methods included to recognise objects by their id or by their also unique name.
SYNOPSIS
my $o_obj = Perlbug::Object->new(%init); # see L
$o_obj = $o_obj->read($oid); # data
my $name = $o_obj->data(name); # Bug
# ALL bugids (optionally) constrained by sql where clause
my @ids = $o_obj->ids($where); # where
# Relation ids
my @patchids = $o_obj->rel_ids(patch); # relids
print = $o_obj->format(h);
Download (0.49MB)
Added: 2007-07-08 License: Perl Artistic License Price:
841 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above object relational search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed