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.867.951 Times

Class::Inner 0.1

  Date Added: August 26, 2010  |  Visits: 597

Class::Inner

Report Broken Link
Printer Friendly Version


Product Homepage
Download (75 downloads)



Class::Inner is a perlish implementation of Java like inner classes. SYNOPSIS use Class::Inner; my $object = Class::Inner->new( parent => ParentClass, methods => { method => sub { ... } }, }, constructor => new, args => [@constructor_args], ); Yet another implementation of an anonymous class with per object overrideable methods, but with the added attraction of sort of working dispatch to the parent classs method. METHODS new HASH Takes a hash like argument list with the following keys. parent The name of the parent class. Note that you can only get single inheritance with this or SUPER wont work. methods A hash, keys are method names, values are CODEREFs. constructor The name of the constructor method. Defaults to new. args An anonymous array of arguments to pass to the constructor. Defaults to an empty list. Returns an object in an anonymous class which inherits from the parent class. This anonymous class has a couple of extra methods: SUPER If you were to pass something like $obj = Class::Inner->new( parent => Parent, methods => { method => sub { ...; $self->SUPER::method(@_) } }, ); then $self-gtSUPER::method almost certainly wouldnt do what you expect, so we provide the SUPER method which dispatches to the parent implementation of the current method. There seems to be no good way of getting the full SUPER:: functionality, but Im working on it. DESTROY Because Class::Inner works by creating a whole new class name for your object, it could potentially leak memory if you create a lot of them. So we add a DESTROY method that removes the class from the symbol table once its finished with. If you need to override a parents DESTROY method, adding a call to Class::Inner::clean_symbol_table(ref $self) to it. Do it at the end of the method or your other method calls wont work. clean_symbol_table The helper subroutine that DESTROY uses to remove the class from the symbol table. new_classname Returns a name for the next anonymous class..

Requirements: No special requirements
Platforms: Linux
Keyword: Class Classinner Destroy Implementation Libraries Method Methods New Parent Programming Super
Users rating: 0/10

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


CLASS::INNER RELATED
Libraries  -  Class::IntrospectionMethods 1.003
Class::IntrospectionMethods is a Perl module that creates methods with introspection. SYNOPSIS use Class::IntrospectionMethods qw/make_methods/; make_methods ( parent, global_catalog => { name => metacat, list => [ [qw/foo/] =>...
31.74 KB  
Libraries  -  Class::DispatchToAll 0.11
Class::DispatchToAll Perl module can dispatch a method call to all inherited methods. SYNOPSIS package My::Class; our @ISA=qw(SomeClass SomeOtherClass More::Classes); use Class::DispatchToAll qw(dispatch_to_all); my $self=bless...
5.12 KB  
Libraries  -  Class::Agreement 0.02
Class::Agreement is a Perl module that add contracts to your Perl classes easily. SYNOPSIS package SomeClass; use Class::Agreement; # use base Class::Accessor or Class::MethodMaker, # or roll your own: sub new { ... } invariant { my...
27.65 KB  
Libraries  -  Gtk2::Ex::MindMapView::Border 0.000001
Gtk2::Ex::MindMapView::Border is a base class for border objects. SYNOPSIS use base Gtk2::Ex::MindMapView::Border; This module is internal to Gtk2::Ex::MindMapView. It is the base class for objects that draw borders and offers several...
50.18 KB  
Network & Internet  -  MultipartRequest File Upload parser 2.0B9
MultipartRequest File Upload parser provides a HttpServletMultipartRequest class that extends the HttpServletRequestWrapper implementation to provide methods for handling multipart form data. The project supports Servlets using Java 1.2 or later....
204.8 KB  
Libraries  -  VCS 0.14
VCS project is a Perl library for generic Version Control System access in Perl. SYNOPSIS use VCS; $file = VCS::File->new($ARGV[0]); print $file->url, ":n"; for $version ($file->versions) { print $version->version, was checked in by ,...
21.5 KB  
Miscellaneous  -  Rebind class properties 1.0
Sometimes you define properties in base class and override the getter setter methods in derived classes. Then you find out the base class though has derived properties are still pointing to baseclasse's methods not the overriden ones.
 
Miscellaneous  -  A tidy property idiom 1.4
This script suggests an idiom for property creation that avoids cluttering the class space with get/set/del methods that will not be used directly. Using thel methods idiom to create properties unnecessarily clutters the class space with...
 
Libraries  -  Class::Driver 0.005
EXAMPLE # This is a really long synopsis, but hopefully it will give you an idea... package MyPackage; use Class::Driver; use base q(Class::Driver); our %drivers; return 1; sub new { my($class, %args) = @_; die "mime_type is...
11.26 KB  
Games  -  IXThemes 1.0.7
IXThemes is an implementation of innovative methods in the development of qualitative universality modules and themes for the PHP based content management systems such as XOOPS, ImpressCMS, EXM IXThemes is an implementation of innovative...
2.03 MB  
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.11.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