Beefy Boxes and Bandwidth Generously Provided by pair Networks RobOMonk
Perl: the Markov chain saw
 
PerlMonks  

Re^2: Using Java methods in perl

by AcidHawk (Vicar)
on Sep 20, 2004 at 18:49 UTC ( #392453=note: print w/ replies, xml ) Need Help??


in reply to Re: Using Java methods in perl
in thread Using Java methods in perl

Inline::Java allows you to put Java source code directly "inline" in a Perl script or module.

I have a class file not the source. I could just go a re-write the source but that would take far too long and really defeat my objective, which is to use stuff that I have already got.

Thanks for the thought though.

-----
Of all the things I've lost in my life, its my mind I miss the most.


Comment on Re^2: Using Java methods in perl
Re^3: Using Java methods in perl
by hardburn (Abbot) on Sep 20, 2004 at 18:53 UTC

    Instead of copy-and-pasting the source of the orginal class, you could make a simple class that imports the orginal class and dispatches its methods back there.

    "There is no shame in being self-taught, only in not trying to learn in the first place." -- Atrus, Myst: The Book of D'ni.

Re^3: Using Java methods in perl
by samtregar (Abbot) on Sep 20, 2004 at 20:19 UTC
    I have a class file not the source.

    No problem, Inline::Java handles that too. Just use the STUDY and AUTOSTUDY options. I'm using Inline::Java to access a 3rd-party vendor's API right now and it's working great.

    -sam

Re^3: Using Java methods in perl
by inman (Curate) on Sep 21, 2004 at 08:12 UTC
    The following code illustrates STUDYing a class with Inline::Java. Other classes encountered when the code is first run are examined courtesy of the AUTOSTUDY statement. The class info is cached so that future execution is quicker.

    #! /usr/bin/perl -w use strict; use warnings; use Data::Dumper; use Inline ( Java => 'STUDY', STUDY => ['com.verity.search.VSearch'], AUTOSTUDY => 1, ); use Inline::Java qw(caught) ; eval { my $search = new com::verity::search::VSearch(); $search->setServerSpec('localhost:9900'); $search->setK2UserName('inman'); $search->setK2Password('xxxxx'); my $ticket = $search->k2Login();; my $colls = $search->collectionsInfo(); my $collCount = $colls->count(); foreach (0..$collCount-1) { my $coll = $colls->at($_); print "Collection: ".$coll->getAlias."\n"; } $search->addCollection ('verity_doccoll'); $search->setQueryText('*'); my $result = $search->getResult(); print "Docs Found: ", $result->{docsFound}; }; if ($@) { if (caught("java.lang.Exception")) { my $msg; $msg = ($@->getMessage()); print "Exception $msg\n"; # prints ouch! } else { # It wasn't a Java exception after all... die $@ ; } }

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (5)
As of 2014-04-21 11:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (493 votes), past polls