Main > Free Download Search >

Free active object software for linux

active object

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 3516
Active Objects 2007-03-04

Active Objects 2007-03-04


Active Objects is an implementation of the Active Object concept based on the boost::thread, boost::bind, boost::function libs. more>>
Active Objects is an implementation of the Active Object concept based on the boost::thread, boost::bind, and boost::function libraries.
The point of the library is to make taking advantage of multiprocessor machines as easy as possible. The library provides two types of functionality. The first is the ability to execute a function in a separate thread and automatically synchronize with the thread when the return value is needed.
The second is the ability to easily create a message cue for any existing class, and have that class process its messages asynchronously.
Enhancements:
- Minor code cleanup and code documentation updates.
<<less
Download (0.32MB)
Added: 2007-03-07 License: Other/Proprietary License with Source Price:
961 downloads
Ace::Object 1.89

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.

<<less
Download (0.29MB)
Added: 2006-10-12 License: Perl Artistic License Price:
1108 downloads
Games::Object 0.11

Games::Object 0.11


Games::Object is a Perl module to provide a base class for game objects. more>>
Games::Object is a Perl module to provide a base class for game objects.

SYNOPSIS

package MyGameObject;
use Games::Object;
use vars qw(@ISA);
@ISA = qw(Games::Object);

sub new {
# Create object
my $proto = shift;
my $class = ref($proto) || $proto;
my $self = $class->SUPER::new(@_);
bless $self, $class;

# Add attributes
$self->new_attr(-name => "hit_points",
-type => int,
-value => 20,
-tend_to_rate => 1);
$self->new_attr(-name => "strength",
-type => int,
-value => 12,
-minimum => 3,
-maximum => 18);
...

return $self;
}

package MyObjectManager;
use Games::Object::Manager;
use vars qw(@ISA);
@ISA = qw(Games::Object::Manager);

sub new {
my $proto = shift;
my $class = ref($proto) || $proto;
my $self = $class->SUPER::new( , @_);
bless $self, $class;
...
return $self;
}


my $world = new MyObjectManager;
my $object = new MyGameObject;
$world->add($object);

ABSTRACT

The purpose of this module is to allow a programmer to write a game in Perl easily by providing a basic framework in the form of a module that can be either subclassed to a module of your own or used directly as its own object class. The most important items in this framework are:

Attributes

You can define arbitrary attributes on objects with rules on how they may be updated, as well as set up automatic update of attributes whenever the objects process() method is invoked. For example, you could set an attribute on an object such that:

It ranges from 0 to 100.

Internally it tracks fractional changes to the value but accessing the attribute will always round the result to an integer.

It will automatically tend towards the maximum by 1 every time process() is called on the object.

A method in your subclass will be invoked automatically if the value falls to 0.
This is just one example of what you can do with attributes.

Flags

You can define any number of arbitrarily-named flags on an object. A flag is a little like a boolean attribute, in that it can have a value of either true or false. Like attributes, flags can be created independently on different objects. No "global" flag list is imposed.

Load/Save functionality

Basic functionality is provided for saving data from an object to a file, and for loading data back into an object. This handles the bulk of load game / save game processing, freeing the programmer to worry about the mechanics of the game itself.

The load functionality can also be used to create objects from object templates. An object template would be a save file that contains a single object.

Object Managers

New to version 0.10 of this module is object managers. An object manager is a Perl object that allows you to manage groups of related game objects. The object manager allows you to relate objects together (for example, you could define a relationship that allows certain objects to act as containers for other objects). In effect, the object manager acts as your world or universe.
Like the game object class, the manager class can be subclassed, allowing you augment its functionality. An object manager can be loaded and saved, which in turn performs a load or save of the objects being managed by it.

<<less
Download (0.083MB)
Added: 2006-09-30 License: Perl Artistic License Price:
1119 downloads
Basset::Object 1.04

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.

<<less
Download (0.14MB)
Added: 2007-06-20 License: GPL (GNU General Public License) Price:
856 downloads
Open Object Rexx 8.0

Open Object Rexx 8.0


Open Object Rexx is a curses widget set for Tcl. more>>
This is an excellent widget set for Tcl which retains much of the Tk syntax, but uses curses to render the widgets in a character-cell terminal instead of X and a graphical display.

Installation

1. Type "./configure". This runs a configuration script made by GNU autoconf, which configures Ck for your system and creates a Makefile. The configure script allows you to customize the configuration to your local needs; for details how to do this, type "./configure --help" or refer to the autoconf documentation (not included here).

The following special switches are supported by "configure":

--enable-shared If this switch is specified Ck will compile itself as a shared library if configure can figure out how to do this on this platform.

--with-tcl Specifies the directory containing the Tcl binaries and Tcls platform-dependent configuration information. By default the Tcl distribution is assumed to be in "../../tcl8.0".

2. Type "make". This will create a library called "libck.a" or "libck8.0.so" and an interpreter application called "cwsh" that allows you to type Tcl commands interactively or execute scripts.

3. Type "make install" to install Cks binaries, script files, and man pages in standard places. Youll need write permission on the install directories to do this. If you plan to install the libraries, executables, and script files whitout documentation, use "make install-binaries" and "make install-libraries".

4. Now you should be able to execute "cwsh". However, if you havent installed Ck then youll need to set the CK_LIBRARY environment variable to hold the full path name of the "library" subdirectory. If Ck has been built as shared library, you have to set the LD_LIBRARY_PATH to include the directory where "libck8.0.so" resides.

So far, Ck8.0 has been successfully tested on various Linux distributions, on FreeBSD 3.3 with manually adapted Makefile, and on Windows NT 4.0 with a modified PDCURSES library. The Ck8.0 source tree should be able to be combined with Tcl7.4, 7.5, 7.6, and 8.0. Older version of Ck (which use Tcl7.4 or Tcl7.5) are in use for several years on HP-UX, AIX, and DEC Unix.
<<less
Download (0.39MB)
Added: 2005-04-14 License: BSD License Price:
1654 downloads
JOAP::Server::Object 0.01

JOAP::Server::Object 0.01


JOAP::Server::Object is a base class for Things Servable By JOAP Servers. more>>
JOAP::Server::Object is a base class for Things Servable By JOAP Servers.

ABSTRACT

This verbosely-named OO package -- sorry about that -- is the base class for object servers, classes, and instances inside a JOAP server. It is probably not such a hunky-dory idea to inherit from this class itself -- use JOAP::Server::Class or JOAP::Server instead. However, it does lay out the framework for how those classes works -- thus, this POD.

When it comes down to it, JOAP is about defining objects and making their attributes and methods available across the Jabber network. This class does the meat of that.
(Unfortunate note: this is a Perl class for defining JOAP objects. It uses Perl attributes to make JOAP attributes, and Perl methods to make JOAP methods. The terminology is confusing, so Ill try and use the prefixes Perl and JOAP where possible.)

There are three interfaces for this module.

Container

This interface consists of a constructor and a set of 8 "handler" methods, which are appropriate for folks who want to create JOAP servers that can serve Perl classes (JOAP::Server is one piece of software that uses this interface).

Simple Subclass

This interface is a set of rules for defining data and methods in a Perl module that is a subclass of JOAP::Server::Object, so that it can be seen by the world as a JOAP class.

This interface is documented in JOAP::Server and JOAP::Server::Class for object servers and classes, respectively. Its repeated here for completeness.

Complex Subclass

This interface is a whole bunch of itty-bitty methods that subclasses can overload if they want to subvert the standard way of defining a JOAP server class in Perl. Itd be appropriate for, say, creating gateways to other object systems, or having more robust and scalable systems written in Perl than the one implemented here.

The complex subclass interface is still in flux and remains undocumented for now.

<<less
Download (0.12MB)
Added: 2007-03-05 License: Perl Artistic License Price:
965 downloads
Active Calendar 1.2.0

Active Calendar 1.2.0


Active Calendar is PHP Class, that generates calendars (month or year view) as a HTML Table (XHTML-Valid). more>>
Active Calendar is PHP Class, that generates calendars (month or year view) as a HTML Table (XHTML-Valid). Active Calendars source code is free.
You can modify or pass it on under the conditions of the GNU Lesser General Public License, published by the Free Software Foundation.
The calendars created by this class:
can be static (without any links)
can optionally have navigation controls
can optionally have a date picker control
can optionally have linkable days (url or javascript)
can optionally have event days with event links and own layout
can optionally have event content with links and own layout
support different GMT zones for the current date calculation
support month and day names, depending on your language
can be configured using CSS
do not require Javascript to be displayed or navigated (server side generation)
can be generated with just 2-3 lines of code
Active Calendar is based on the PHP native date functions (default) and supports optionally the ADOdb Date Library. Supported dates (on systems using a 32-bit signed integer Unix time_t):
Using PHP native date functions: 1902 - 2037 (UNIX) and 1971 - 2037 (Windows)
Using ADOdb Date Library: 100 - 3000 and later [ limited by the computation time of adodb_mktime() ] on both UNIX and Windows. To use the ADOdb Date Library just include it in your scripts. The Active Calendar class will use the library functions automatically.
Enhancements:
- An activeCalendarWeek subclass was added.
- The class can generate week calendars (one or multiple rows) according to the date or the week number of the year passed to the class using two public methods, showWeeks() and showWeeksByID().
- The structure of the download package was updated and an example was added for demonstrating how the Active Calendar can be used as a popup date selector in a form.
<<less
Download (0.032MB)
Added: 2006-02-23 License: GPL (GNU General Public License) Price:
1345 downloads
Rose::Object 0.84

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);

<<less
Download (0.028MB)
Added: 2007-05-21 License: Perl Artistic License Price:
886 downloads
Active port forwarder 0.8.3

Active port forwarder 0.8.3


Active port forwarder uses SSL for secure packet tunneling. more>>
Active port forwarder is a software tool for secure port forwarding. Active port forwarder uses SSL to increase security of communication between a server and a client. Originally, it was developed to forward data point to point.
However, the need for bypassing firewalls in order to connect to internally located computers influenced the further development of the project.
AF is dedicated for people, who dont have an external ip number and want to make some services available across the net.
Moreover, zlib is used to compress the transferred data.
Using one, permanent data/control channel with flow control / packet buffering provides good performance and reasonably small latency.
Running afserver does not require root priviledges, nor does it use threads or other processes.
Enhancements:
- The bug in the ip_listen function (visible on the systems without IPv6 support) has been fixed.
<<less
Download (0.18MB)
Added: 2006-11-22 License: GPL (GNU General Public License) Price:
1075 downloads
ZZEE Active SQL Backup 0.9.2

ZZEE Active SQL Backup 0.9.2


ZZEE Active SQL Backup can perform *incremental* backup of MySQL database. more>>
Since MySQL is the most popular SQL server that is used in conjunction with web sites, there was a need for incremental backup utility. ZZEE Active SQL Backup is designed for clients of web hosting companies, and can be useful to system administrators as well.
Main features:
- Can perform *incremental* backup of MySQL database
- Can perform full backup of MySQL database
- Can replicate database
- Can process SQL queries
- Can dump database structure
- Can suggest database changes needed to process incremental backup
- Can send data backed up by email
- Can transfer backed up data by FTP to other computer (if Net::FTP is installed)
- Can compress backed up data
Usage synopsis
Active SQL Backup can do incremental or full backups of MySQL database as often as needed. It is suitable both for the clients of web hosting companies who can not get access to MySQL update logs and for the host administrators. Backup syntax is:
shell> ./zmdb.pl -b
It stores backup files in BACKUP_DIR, specified in user_settings.txt, named like YYYY_MM_DD_hh_mm_ss.sql[.gz]. The backup files consist of series of SQL INSERT statements and may contain DELETE statements. The database scheme is stored in file database_name.create.sql. If gzip is available, then Active SQL Backup automatically uses it to compress stored data. The program can automatically send backed up files by email or upload to the other computer by FTP.
If the system fails, Active SQL Backup can restore the database. Restore syntax for incremental backups is:
shell> ./zmdb.pl -r
If you make full backups, restore syntax is the following:
shell> ./zmdb.pl -e < BACKUP_DIR/database_name.create.sql
shell> ./zmdb.pl -e < BACKUP_DIR/YYYY_MM_DD_hh_mm_ss.sql &
The first line is needed to restore database structure, and the second is the *most recent* data file. You may need to "gunzip" it before supplying to restore.
You can use the program to dump database structure
shell> ./zmdb.pl -s > structure_dump_file
or to process queries. The latter feature is useful if you need to process queries regularly, for example, to update membership status of the users of your online service. The syntax to execute SQL queries is:
shell> ./zmdb.pl -e < some_sql_file
Where format of some_sql_file is the same as with Mysql utility: SQL statements are separated by semicolon. Note that if you pass SELECT queries to Active SQL Backup, then no result will be returned.
Syntax summary is:
zmdb.pl [SINGLE_OPTION]
-a --advice suggest database modifications and tables_config.txt
-b --backup backup database structure and data
-e --execute execute SQL queries [from STDIN]
-h --help print this screen
-r --restore restore database structure and data
-s --structure dump database structure [to STDOUT]
<<less
Download (0.027MB)
Added: 2006-03-08 License: Other/Proprietary License Price:
1325 downloads
Perlbug::Object 2.93

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);

<<less
Download (0.49MB)
Added: 2007-07-08 License: Perl Artistic License Price:
841 downloads
Color::Object 0.1_02

Color::Object 0.1_02


Color::Object is a OO-Color Module. more>>
Color::Object is a OO-Color Module.

A module for manipulation Colors within RGB, HSV and HSL color-spaces for usage within PDF-Documents especially with the Text::PDF::API modules.

SYNOPSIS

use Color::Object;

$cl = Color::Object->new;
$cl = Color::Object->newRGB($r,$g,$b);
$cl = Color::Object->newHSV($h,$s,$v);
$cl = Color::Object->newHSL($h,$s,$l);

$cl->setRGB($r,$g,$b);
$cl->addBrightness($br);
($h,$s,$l) = $cl->asHSL;

METHODS

Color::Object->new
Color::Object->newRGB $r, $g, $b
Color::Object->newHSV $h, $s, $v
Color::Object->newHSL $h, $s, $l
Color::Object->newGrey $grey
( $r, $g, $b ) = $cl->asRGB
Returns $cls rgb values. Range [0 .. 1].
( $h, $s, $v ) = $cl->asHSV
Returns $cls hsv values. Ranges h [0 .. 360], s/v [0 .. 1].
( $h, $s, $l ) = $cl->asHSL
Returns $cls hsl values. Ranges h [0 .. 360], s/l [0 .. 1].
$grey = $cl->asGrey
$grey = $cl->asGrey2
Returns $cls grey value. Range [0 .. 1]. Functions 2 returns the geometric mean of the corresponding RGB values.
( $c, $m, $y )= $cl->asCMY
Returns $cls cmy values. Range [0 .. 1].
( $c, $m, $y, $k )= $cl->asCMYK
( $c, $m, $y, $k )= $cl->asCMYK2
( $c, $m, $y, $k )= $cl->asCMYK3
Returns $cls cmyk values. Range [0 .. 1]. Function 2 returns a 25% lighter color-equivalent. Function 3 returns a 25% lighter color-equivalent.
$hex = $cl->asHex
Returns $cls rgb values as 6 hex-digits.
$cl->setRGB $r, $g, $b
Sets the $cls rgb values. Valid range [0 .. 1].
$cl->setHSV $h, $s, $v
Sets the $cls hsv values. Valid ranges: h [0..360], s/v [0..1].
$cl->setHSL $h, $s, $l
Sets the $cls hsl values. Valid ranges: h [0..360], s/l [0..1].
$cl->setGrey $grey
Sets the $cls grey value. Valid range [0 .. 1].
$cl->setHex $hex
Sets the $cls rgb values using 6 hex-nibbles.
$cl->addSaturation $saturation
Adds to the $cls saturation in the HSV model. Valid range [-1 .. 1].
$cl->setSaturation $saturation
Sets the $cls saturation in the HSV model. Valid range [0 .. 1].
$cl->rotHue $degrees
Rotates the $cls hue in the HSV/L model. Valid range [-360 .. 360].
$cl->setHue $hue
Sets the $cls hue in the HSV/L model. Valid range [0 .. 360].
$cl->addBrightness $brightness
Adds to the $cls brightness in the HSV model. Valid range [-1 .. 1].
$cl->setBrightness $brightness
Sets the $cls brightness in the HSV model. Valid range [0 .. 1].
$cl->addLightness $lightness
Adds to the $cls lightness in the HSL model. Valid range [-1 .. 1].
$cl->setLightness $lightness
Sets the $cls lightness in the HSL model. Valid range [0 .. 1].

<<less
Download (0.003MB)
Added: 2007-07-31 License: Perl Artistic License Price:
815 downloads
CBL ActiveRecord 20060323

CBL ActiveRecord 20060323


CBL ActiveRecord is an O/R mapping library for PHP5.x. more>>
CBL ActiveRecord project is an O/R mapping library for PHP5.x. Active Record is an object that wraps a row in a database table or view, encapsulates the database access, and adds domain logic on that data.
Using this library, it becomes very easy to access the database.
- Development Status: Beta
- Intended Audience: Developers
- License: GNU Lesser General Public License (LGPL2.1orlater)
- Programming Language: PHP5, PHP5.1
- Translations: English, Japanese
<<less
Download (0.019MB)
Added: 2006-04-14 License: LGPL (GNU Lesser General Public License) Price:
1288 downloads
Portable Object Compiler 0.2.2

Portable Object Compiler 0.2.2


Portable Object Compiler project consists of a set of Objective-C class libraries and a precompiler (translator) that generates more>>
Portable Object Compiler project consists of a set of Objective-C class libraries and a precompiler (translator) that generates plain C code.
Main features:
- Easy to install or to modify.
- Works on many systems with the native cc, debugger, profiler etc. (Unix, Windows, Macintosh, Beos, OpenVMS etc. see Platforms.txt file)
- Option for reference counted memory management (-refcnt). This uses the native malloc(), free() etc. but the compiler generates statements for keeping track of references (Tested on a few platforms, such as IRIX 5.2 with the SGI malloc).
- Built-in possibility of tracing Objective C messages. (OBJCRTMSG)
- Straightforward "C" messenger; "inline cache" messenger. Forwarding C messenger (to support -doesNotUnderstand:).
- All classes get a +initialize message at start-up, rather than each class receives a +initialize before it receives its first message.
- Some support for translating Objective-C to Smalltalk (-st80 option)
- Automatic archiver. Compiler generates code for classes to save and load objects to and from disk (for all instance variables of type "id").
- Option for Garbage Collection (using Boehm gc package). Tested on some UNIXes and WIN32. Option for reference counted memory management (doesnt require Boehm).
- Exception handling scheme (using Objective-C Blocks) that allows to specify a default handler to be executed.
- Supports dynamically loading Objective-C modules on Windows, FreeBSD, HP-UX, Linux, IRIX, Digital Unix etc.
- Has a switch for double indirection for Object identifiers (id as a handle instead of a pointer). (-become: method)
- Supports forwarding messages (-doesNotUnderstand: method)
- Support for Embedded SQL in Objective-C (Informix only for now)
- Great system for experimentation with your own additions/extensions to Objective C !
<<less
Download (0.82MB)
Added: 2007-02-15 License: GPL (GNU General Public License) Price:
985 downloads
Bio::Root::Object 1.4

Bio::Root::Object 1.4


Bio::Root::Object is a core Perl 5 object. more>>
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 => $dad,
-make => full);
See the new() method for a complete description of parameters. See also the USAGE section .

Bio::Root::Object attempts to encapsulate the "core" Perl5 object: What are the key data and behaviors ALL (or at least most) Perl5 objects should have?
Rationale

Use of Bio::Root::Object.pm within the Bioperl framework facilitates operational consistency across the different modules defined within the Bio:: namespace. Not all objects need to derive from Bio::Root::Object.pm. However, when generating lots of different types of potentially complex objects which should all conform to a set of basic expectations, this module may be handy.

At the very least, this module saves you from re-writing the new() method for each module you develop. It also permits consistent and robust handling of -tag => value method arguments via the Bio::Root::RootI::_rearrange() method and provides a object-oriented way handle exceptions and warnings via the Bio::Root::Root::throw() and Bio::Root::Root::warn() methods.

See the APPENDIX section for some other handy methods.

Fault-Tolerant Objects

A major motivation for this module was to promote the creation of robust, fault-tolerant Perl5 objects. The Bio::Root::Root::throw() method relies on Perls built-in eval{}/die exception mechanism to generate fatal exceptions. The data comprising an exception is managed by the Bio::Root::Err.pm module, which essentially allows the data thrown by a die() event to be wrapped into an object that can be easily examined and possibly re-thrown.

The intent here is three-fold:

1 Detailed error reporting.
Allow objects to report detailed information about the error condition (who, what, where, why, how).
2 Handle complex errors in objects.
The goal is to make it relatively painless to detect and handle the wide variety of errors possible with a complex Perl object. Perls error handling mechanism is a might clunky when it comes to handling complex errors within complex objects, but it is improving.
3 Efficient & easy exception handling.
To enable robust exception handling without incurring a significant performance penalty in the resulting code. Ideally, exception handling code should be transparent to the cpu until and unless an exception arises.

These goals may at times be at odds and we are not claiming to have achieved the perfect balance. Ultimately, we want self- sufficient object-oriented systems able to deal with their own errors. This area should improve as the module, and Perl, evolve. One possible modification might be to utilize Graham Barrs Error.pm module or Torsten Ekedahls Experimental::Exception.pm module (see "Other Exception Modules").

Technologies such as these may eventually be incorporated into future releases of Perl. The exception handling used by Bio::Root::Object.pm can be expected to change as Perls exception handling mechanism evolves.

TERMINOLOGY NOTE: In this discussion and elsewhere in this module, the terms "Exception" and "Error" are used interchangeably to mean "something unexpected occurred" either as a result of incorrect user input or faulty internal processing.

<<less
Download (4.7MB)
Added: 2006-06-16 License: Perl Artistic License Price:
1225 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5