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 29.543.219 Times

Class::Generate 1.09

  Date Added: January 13, 2010  |  Visits: 636

Class::Generate

Report Broken Link
Printer Friendly Version


Product Homepage
Download (71 downloads)



Class::Generate is a Perl module that can generate Perl class hierarchies. SYNOPSIS use Class::Generate qw(class subclass delete_class); # Declare class Class_Name, with the following types of members: class Class_Name => [ s => $, # scalar a => @, # array h => %, # hash c => Class, # Class c_a => @Class, # array of Class c_h => %Class, # hash of Class &m => body, # method ]; # Allocate an instance of class_name, with members initialized to the # given values (pass arrays and hashes using references). $obj = Class_Name->new ( s => scalar, a => [ values ], h => { key1 => v1, ... }, c => Class->new, c_a => [ Class->new, ... ], c_h => [ key1 => Class->new, ... ] ); # Scalar type accessor: $obj->s($value); # Assign $value to member s. $member_value = $obj->s; # Access members value. # (Class) Array type accessor: $obj->a([value1, value2, ...]); # Assign whole array to member. $obj->a(2, $value); # Assign $value to array member 2. $obj->add_a($value); # Append $value to end of array. @a = $obj->a; # Access whole array. $ary_member_value = $obj->a(2); # Access array member 2. $s = $obj->a_size; # Return size of array. $value = $obj->last_a; # Return last element of array. # (Class) Hash type accessor: $obj->h({ k_1=>v1, ..., k_n=>v_n }) # Assign whole hash to member. $obj->h($key, $value); # Assign $value to hash member $key. %hash = $obj->h; # Access whole hash. $hash_member_value = $obj->h($key); # Access hash member value $key. $obj->delete_h($key); # Delete slot occupied by $key. @keys = $obj->h_keys; # Access keys of member h. @values = $obj->h_values; # Access values of member h. $another = $obj->copy; # Copy an object. if ( $obj->equals($another) ) { ... } # Test equality. subclass s => [ ], -parent => class_name; The Class::Generate package exports functions that take as arguments a class specification and create from these specifications a Perl 5 class. The specification language allows many object-oriented constructs: typed members, inheritance, private members, required members, default values, object methods, class methods, class variables, and more. CPAN contains similar packages. Why another? Because object-oriented programming, especially in a dynamic language like Perl, is a complicated endeavor. I wanted a package that would work very hard to catch the errors you (well, I anyway) commonly make. I wanted a package that could help me enforce the contract of object-oriented programming. I also wanted it to get out of my way when I asked..

Requirements: No special requirements
Platforms: Linux
Keyword: Array Class Classgenerate Libraries Member Perl Perl Module Programming Value
Users rating: 0/10

License: Freeware Size: 53.25 KB
USER REVIEWS
More Reviews or Write Review


CLASS::GENERATE RELATED
Libraries  -  Class::Meta::Declare 0.04
Class::Meta::Declare is a Perl module deprecated in favor of Class::Meta::Express. SYNOPSIS This was a first attempt at making a saner interface for Class::Meta. It is nicer, but Class::Meta::Express is nicer still. Go use that one. package...
15.36 KB  
Libraries  -  Class::Multimethods::Pure 0.13
Class::Multimethods::Pure is a Perl module that contains a method-ordered multimethod dispatch. SYNOPSIS use Class::Multimethods::Pure; package A; sub magic { rand() > 0.5 } package B; use base A; package C; use base A; BEGIN { multi...
15.36 KB  
Libraries  -  Class::Adapter::Builder 1.02
Class::Adapter::Builder is a Perl module that can generate Class::Adapter classes. SYNOPSIS package My::Adapter; use strict; use Class::Adapter::Builder ISA => Specific::API, METHODS => [ qw{foo bar baz} ], method => different_method;...
24.58 KB  
Libraries  -  Class::DBI::ConceptSearch 0.04
Class::DBI::ConceptSearch is a Perl module to retrieve Class::DBI aggregates from high-level conceptual searches. SYNOPSIS my $cs = Class::DBI::ConceptSearch->new(xml => $config); #see CONFIGURATION $cs->use_wildcards(1);...
7.17 KB  
Libraries  -  Class::Std::Utils 0.0.2
Class::Std::Utils is a Perl module for utility subroutines for building "inside-out" objects. SYNOPSIS use Class::Std::Utils; # Constructor for anonymous scalars... my $new_object = bless anon_scalar(), $class; # Convert an object...
5.12 KB  
Libraries  -  Class::DBI::FormBuilder 0.481
Class::DBI::FormBuilder is a Perl module with Class::DBI/CGI::FormBuilder integration. SYNOPSIS package Film; use strict; use warnings; use base Class::DBI; use Class::DBI::FormBuilder; # for indented output: # use...
46.08 KB  
Libraries  -  Class::Meta::Express 0.04
Class::Meta::Express is a Perl module for concise, expressive creation of Class::Meta classes. Synopsis package My::Contact; use Class::Meta::Express; class { meta contact => ( default_type => string ); has name; has contact => (...
9.22 KB  
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  -  Class::DBI::FormTools 0.0.4
Class::DBI::FormTools is a Perl module to build forms with multiple interconnected objects. SYNOPSIS package MyApp::Film; use base Class::DBI::FormTools; Mason example my $o = Film->retrieve(42); < input...
9.22 KB  
Libraries  -  Class::DBI::AutoIncrement 0.05
Class::DBI::AutoIncrement is a Perl module to emulate auto-incrementing columns on Class::DBI subclasses. SYNOPSIS Lets assume you have a project making use of Class::DBI. You have implemented a subclass of Class::DBI called MyProject::DBI...
8.19 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  -  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  
Libraries  -  App::SimpleScan::Substitution::Line 2.02
App::SimpleScan::Substitution::Line is a line with optional fixed variable values. SYNOPSIS my $line = App::SimpleScan::Substitution::Line->new(" this "); # Use only this value when substituting " ". $line->fix(substituite =>...
54.27 KB