Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

Re: Re: Re: OOP: Plugin Style Development

by Jenda (Abbot)
on Jul 23, 2002 at 19:21 UTC ( #184541=note: print w/replies, xml ) Need Help??

in reply to Re: Re: OOP: Plugin Style Development
in thread OOP: Plugin Style Development

I'm not 100% it IS what is he doing. It doesn't hurt to explain it in more detail for others even if he does.

Anyway here's some code that implements the method checking:

# in package ShoppingCart @required_methods = qw(GetNext GetFirst Reset ...); sub initialize { my $self = shift; my $IO = shift; croak "The first parameter to 'new ShoppingCart' must be an IO objec +t!" unless ref $IO; foreach my $method (@required_methods) { croak("The IO object passed to 'new ShoppingCart' does not impleme +nt the necessary methods!") unless $IO->can($method); } $self->{IO} = $IO; } ...

The test is not compile time, but currently it's the best you can get. AFAIK of course.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://184541]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (5)
As of 2016-10-27 03:56 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (352 votes). Check out past polls.