Genius :) Here is what I did with it
package UMMF::Export::DDS;
use 5.6.1;
use strict;
our $AUTHOR = q{ Anonymous Monk on 2011-08-04-05:47:09 };
our $VERSION = do { my @r = (q$Revision: 1.3 $ =~ /\d+/g); sprintf "%d
+." . "%03d" x $#r, @r };
=head1 NAME
UMMF::Export::DDS - A code generator for L<Data::Dump::Streamer>.
=head1 SYNOPSIS
my $d = UMMF::Export::DDS->new('output' => *STDOUT);
my $d->export_Model($model);
=head1 DESCRIPTION
This package allow UML models to be represented as L<Data::Dump::Strea
+mer> output.
=head1 USAGE
=head1 EXPORT
None exported.
=head1 AUTHOR
Anonymous Monk on 2011-08-04-05:47:09
=head1 SEE ALSO
L<UMMF::UML::MetaModel|UMMF::UML::MetaModel>
=head1 VERSION
$Revision: 1.3 $
=head1 METHODS
=cut
######################################################################
+#
use base qw(UMMF::Export);
use UMMF::Core::Util qw(:all);
use Data::Dump::Streamer;
######################################################################
+#
sub initialize
{
my ($self) = @_;
# $DB::single = 1;
$self->SUPER::initialize;
$self;
}
######################################################################
+#
sub export_Model
{
my ($self, $model) = @_;
$DB::single = 1;
local $model->{ownedElement} = [ $model->{ownedElement} -> elements
+];
$self->{'output'}
->print(
Data::Dump::Streamer::Dump( $model)->Names(qw( $model))->Out()
+,
"\n;\n",
);
$self;
}
1;
|