/[cvs]/nfo/perl/libs/OEF/API/Abstract.pm
ViewVC logotype

Contents of /nfo/perl/libs/OEF/API/Abstract.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations)
Fri Apr 4 17:25:51 2003 UTC (21 years, 3 months ago) by joko
Branch: MAIN
Changes since 1.1: +6 -3 lines
minor update regarding debugging output

1 ## -------------------------------------------------------------------------
2 ## $Id: Abstract.pm,v 1.1 2003/03/27 15:39:10 joko Exp $
3 ## -------------------------------------------------------------------------
4 ## $Log: Abstract.pm,v $
5 ## Revision 1.1 2003/03/27 15:39:10 joko
6 ## initial commit, api metadata registration helper
7 ##
8 ## -------------------------------------------------------------------------
9
10
11 package OEF::API::Abstract;
12
13 use strict;
14 use warnings;
15
16 use Data::Dumper;
17
18 sub new {
19 my $self = shift;
20 #$self->_api_init();
21 }
22
23 sub register {
24 my $self = shift;
25 my $payload = shift;
26 #print ref($self), " [$self] registers its API", "\n";
27 print __PACKAGE__, ": ", ref($self), " registers its API", "\n";
28 #$logger->info( ref($self), " [$self]", " registers its API" );
29 #print Dumper($payload);
30 $self->_push_api($payload);
31 }
32
33 sub _push_api {
34 my $self = shift;
35 my $payload = shift;
36 push @{$self->{api}}, @$payload;
37 }
38
39 sub build {
40 my $self = shift;
41 my $plugins = shift;
42 # base api
43 $self->_api_init();
44 # api extensions (plugins)
45 #my @api_ext;
46 foreach (@$plugins) {
47 my $subapi = DesignPattern::Object->fromPackage($_);
48 #next;
49 if ($subapi->build()) {
50 #push @api_ext, @$subapi_metadata;
51 #$self->register($subapi->getApiMetadata());
52 $self->_push_api($subapi->getApiMetadata());
53 }
54 }
55 #my @api_merged = (@$api_base, @api_ext);
56 #print Dumper(@api_merged);
57 #return \@api_merged;
58 return 1;
59 }
60
61 sub getApiMetadata {
62 my $self = shift;
63 #print Dumper($self);
64 return $self->{api};
65 }
66
67 1;
68 __END__

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed