Main > Free Download Search >

Free class diagram software for linux

class diagram

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 2617
Class::Generate 1.09

Class::Generate 1.09


Class::Generate is a Perl module that can generate Perl class hierarchies. more>>
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.

<<less
Download (0.052MB)
Added: 2007-07-31 License: Perl Artistic License Price:
815 downloads
Class::Inner 0.1

Class::Inner 0.1


Class::Inner is a perlish implementation of Java like inner classes. more>>
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.

<<less
Download (0.003MB)
Added: 2007-06-06 License: Perl Artistic License Price:
871 downloads
Class::DispatchToAll 0.11

Class::DispatchToAll 0.11


Class::DispatchToAll Perl module can dispatch a method call to all inherited methods. more>>
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 {},My::Class # not a proper constructor, I know..

# this calls some_method in all Classes My::Class inherits from
# and all classes those classes inherit from, and all ... you get
# the point.
$self->dispatch_to_all(some_method);

# saves all return values from all calls in an array
my @returns=$self->dispatch_to_all(some_method);

See the Docs of Damian Conways Module Class::Delegation for a good introduction about Dispatching vs. Inheritance.

Class::DispatchToAll enables you to call all instantances of a method in your inheritance tree (or labyrinth..).

The standard Perl behaviour is to call only the lefternmost instance it can fing doing a depth first traversial.

Imagine the following class structure:
C
/
A B C::C
/ /
A::A D
/
My::Class

Perl will try to find a method in this mess in this order:

My::Class -> A::A -> A -> B -> D -> B -> C::C -> C
(Note that it will look twice in B because B is a parent of both A::A and D))

As soon as Perl finds the method somewhere, it will short-circuit out of its search and invoke the method.

And that is exactly the behaviour Class::DispatchToAll changes.

If you use dispatch_to_all (provided by Class::DispatchToAll) to call your method, Perl will look in all of the aforementioned packages and run all the methods it can find. It will even collect all the return values and return them to you as an array, if you want it too.

<<less
Download (0.005MB)
Added: 2007-07-21 License: Perl Artistic License Price:
825 downloads
Class::Trait 0.21

Class::Trait 0.21


Class::Trait is a Perl implementation of Traits in Perl. more>>
Class::Trait is a Perl implementation of Traits in Perl.

SYNOPSIS

# to turn on debugging (do this before
# any other traits are loaded)
use Class::Trait debug;

# nothing happens, but the module is loaded
use Class::Trait;

# loads these two traits and flatten them
# into the current package
use Class::Trait qw(TPrintable TComparable);

# loading a trait and performing some
# trait operations (alias, exclude) first
use Class::Trait (
TPrintable => {
alias => { "stringValue" => "strVal" },
exclude => "stringValue",
},
);

# loading two traits and performing
# a trait operation (exclude) on one
# module to avoid method conflicts
use Class::Trait
TComparable => {
# exclude the basic equality method
# from TComparable and use the ones
# in TEquality instead.
exclude => [ "notEqualTo", "equalTo" ]
},
TEquality #<<less
Download (0.033MB)
Added: 2006-10-05 License: Perl Artistic License Price:
1114 downloads
Class::Date 1.1.9

Class::Date 1.1.9


Class::Date provides a date datatype for Perl. more>>
Class::Date is a perl module, which provides a simple date type for perl.
You can create new Class::Date objects with a constructor from different scalar formats, array refs, and hash refs, and then you can easily manipulate it by the builtin "+" and "-" operators (e.g., $date=date([2001,03,15])+3Y 1s). Relative date types also available.
Enhancements:
- This release adds "ampm" and "meridiam" methods.
<<less
Download (0.034MB)
Added: 2006-05-15 License: GPL (GNU General Public License) Price:
1257 downloads
Class::DBI::DataMigration::Mapping 0.02

Class::DBI::DataMigration::Mapping 0.02


Class::DBI::DataMigration::Mapping is an abstract parent class for objects that map a single column in a single row. more>>
Class::DBI::DataMigration::Mapping is an abstract parent class for objects that map a single column in a single row from the source database to the target database.

Synopsis

use Class::DBI::DataMigration::Mapping;

# ... Later, when building $mappings hashref for use by a
# Class::DBI::DataMigration::Mapper (which see for synopsis --
# in this example, assume an appropriate @source_keys):

foreach my $source_key (@source_keys) {
$mappings{$source_key} = new Class::DBI::DataMigration::Mapping;
}

# ... Now we can assign $mappings to our Mapper ...

Class::DBI::DataMigration::Mapping objects are used by Class::DBI::DataMigration::Mapper objects to retrieve the values for particular keys into source database objects; these will in turn be stored under particular keys into newly-created target database objects.

<<less
Download (0.012MB)
Added: 2006-10-06 License: Perl Artistic License Price:
1113 downloads
Class::Interfaces 0.04

Class::Interfaces 0.04


Class::Interfaces is a Per module for defining interface classes inline. more>>
Class::Interfaces is a Per module for defining interface classes inline.

SYNOPSIS

# define some simple interfaces
use Class::Interfaces (
Serializable => [ pack, unpack ],
Printable => [ toString ],
Iterable => [ iterator ],
Iterator => [ hasNext, next ]
);

# or some more complex ones ...

# interface can also inherit from
# other interfaces using this form
use Class::Interfaces (
BiDirectionalIterator => {
isa => Iterator,
methods => [ hasPrev, prev ]
},
ResetableIterator => {
isa => Iterator,
methods => [ reset ]
},
# we even support multiple inheritance
ResetableBiDirectionalIterator => {
isa => [ ResetableIterator, BiDirectionalIterator ]
}
);

# it is also possible to create an
# empty interface, sometimes called
# a marker interface
use Class::Interfaces (
JustAMarker => undef
);

This module provides a simple means to define abstract class interfaces, which can be used to program using the concepts of interface polymorphism.

<<less
Download (0.006MB)
Added: 2006-10-05 License: Perl Artistic License Price:
1115 downloads
Clara 3.0

Clara 3.0


Clara is a class viewer tool for Java and C++ that draws diagrams for a given class. more>>
Clara is a help-documentation tool for C++ or java developers. Basically she paints a diagram - a clara diagram - from a class.

With clara you can visualize your class as if it were a chip with pins for input - representing the input parameters of the methods - and pins for output - representing the return type of the functions-.

Lets see for example the diagram that clara would draw for the following C++ sample class

class sampleInterface
{
public:

void init (MyStructure * pstruct);

void setPoint (float x, float y);

float getX ();
float getY ();

void processIt ();
};

What are these pins for ? Are we going to connect them somehow ? Not at all, it is just a convenient way to represent what the class offers in a very compact form.

Of course the diagram will be drawn by clara automatically, there is no need (and no chance) of manually drawing anything.

Clara gets the needed information in two ways : using reflection in java and parsing the header file in C++. Clara can also draw a call-diagram of the class if the sources are found, note though that for the call-diagram an extra tool is needed (dot.exe from http://www.graphviz.org) and it has to be installed apart.
<<less
Download (0.19MB)
Added: 2005-10-25 License: GPL (GNU General Public License) Price:
1461 downloads
Class::DBI::FormTools 0.0.4

Class::DBI::FormTools 0.0.4


Class::DBI::FormTools is a Perl module to build forms with multiple interconnected objects. more>>
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
< %init >
my $o = Film->retrieve(42);
< /%init >
< form >
< input name="< % $o- >form_fieldname(title) % >" type="text" value="< % $o- >title % >" / >
< /form >

On the receiving end:

my @objects = Class::DBI::FormTools->formdata_to_objects($quesrstring);

This is alpha software - Highly experimental - Everything might change!

INTERFACE

form_field

FIXME

form_fieldname

FIXME

formdata_to_objects

FIXME

<<less
Download (0.009MB)
Added: 2007-01-12 License: Perl Artistic License Price:
1015 downloads
Class::Delegation 1.7.1

Class::Delegation 1.7.1


Class::Delegation is a Perl object-oriented delegation. more>>
Class::Delegation is a Perl object-oriented delegation.

SYNOPSIS

package Car;

use Class::Delegation
send => steer,
to => ["left_front_wheel", "right_front_wheel"],

send => drive,
to => ["right_rear_wheel", "left_rear_wheel"],
as => ["rotate_clockwise", "rotate_anticlockwise"]

send => power,
to => flywheel,
as => brake,

send => brake,
to => qr/.*_wheel$/,

send => halt
to => -SELF,
as => brake,

send => qr/^MP_(.+)/,
to => mp3,
as => sub { $1 },

send => -OTHER,
to => mp3,

send => debug,
to => -ALL,
as => dump,

send => -ALL,
to => logger,
;

<<less
Download (0.014MB)
Added: 2006-11-11 License: Perl Artistic License Price:
1077 downloads
Class::Accessor::Named 0.005

Class::Accessor::Named 0.005


Class::Accessor::Named is a great way to automate the tedious task of generating accessors and mutators. more>>
Class::Accessor::Named is a great way to automate the tedious task of generating accessors and mutators. One small drawback is that due to the details of the implemenetation, you only get one "__ANON__" entry in profiling output.

That entry contains all your accessors, which can be a real pain if youre attempting to figure out _ w_ h_ i_ c_ h of your accessors is being called six billion times.

This module is a development aid which uses Hook::LexWrap and Sub::Name to talk your accessors into identifying themselves. While it shouldnt add much additional runtime overhead (as it acts only Class::Accessors generator functions), it has not been designed for production deployment.

<<less
Download (0.020MB)
Added: 2006-09-06 License: Perl Artistic License Price:
1143 downloads
Class::ArrayObjects 1.02

Class::ArrayObjects 1.02


Class::ArrayObjects is a Perl utility class for array based objects. more>>
Class::ArrayObjects is a Perl utility class for array based objects.

SYNOPSIS

package Some::Class;
use Class::ArrayObjects define => {
fields => [qw(_foo_ _bar_ BAZ)],
};

or

package Other::Class;
use base Some::Class;
use Class::ArrayObjects extend => {
class => Some::Class,
with => [qw(_zorg_ _fnord_ BEZ)],
import => 1,
};

This module is little more than a cute way of defining constant subs in your own package. Constant subs are very useful when dealing with array based objects because they allow one to access array slots by name instead of by index.

<<less
Download (0.006MB)
Added: 2006-10-06 License: Perl Artistic License Price:
1113 downloads
Class::DBI::Query 3.0.15

Class::DBI::Query 3.0.15


Class::DBI::Query is a Perl module with deprecated SQL manager for Class::DBI. more>>
Class::DBI::Query is a Perl module with deprecated SQL manager for Class::DBI.

SYNOPSIS

my $sth = Class::DBI::Query
->new({
owner => $class,
sqlname => $type,
essential => @columns,
where_columns => @where_cols,
})
->run($val);

This abstracts away many of the details of the Class::DBI underlying SQL mechanism. For the most part you probably dont want to be interfacing directly with this.

The underlying mechanisms are not yet stable, and are subject to change at any time.

<<less
Download (0.10MB)
Added: 2006-10-14 License: Perl Artistic License Price:
1105 downloads
Class::CGI 0.20

Class::CGI 0.20


Class::CGI is a Perl module to fetch objects from your CGI object. more>>
Class::CGI is a Perl module to fetch objects from your CGI object.

SYNOPSIS

use Class::CGI
handlers => {
customer_id => My::Customer::Handler
};

my $cgi = Class::CGI->new;
my $customer = $cgi->param(customer_id);
my $name = $customer->name;
my $email = $cgi->param(email); # behaves like normal

if ( my %errors = $cgi->errors ) {
# do error handling
}

For small CGI scripts, its common to get a parameter, untaint it, pass it to an object constructor and get the object back. This module would allow one to to build Class::CGI handler classes which take the parameter value, automatically perform those steps and just return the object. Much grunt work goes away and you can get back to merely pretending to work.

<<less
Download (0.017MB)
Added: 2006-10-20 License: Perl Artistic License Price:
1099 downloads
Class.Jabber.PHP 0.4

Class.Jabber.PHP 0.4


Class.Jabber.PHP provides a medium-level API to interact with the Jabber network. more>>
Class.Jabber.PHP provides a medium-level API to interact with the Jabber network.

Class.Jabber.PHP is a class which you can use to connect to the Jabber network. It allows you to easily connect to a server and interact with it. It supports all packet types (message, iq, and presence), is very flexible, and offers both high-level methods (registration, message sending, etc.) and low-level methods (packet sending, etc.).

The problem with current IM solutions is that they are all proprietary and cannot talk to each other. Jabber seeks to get rid of those barriers by allowing a Jabber client to talk with an AOL user, or an IRC chat room, or any number of other programs.

Class.Jabber.PHP a PHP class that provides a PHP Developer access to the Jabber protocol. Using this OOP class, I provide a clean interface to writing anything from a full client to a simple protocol tester.

<<less
Download (0.016MB)
Added: 2007-02-27 License: GPL (GNU General Public License) Price:
976 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5