Vishal, You can always use AUTOSTUDY, but you must always provide a starter class using STUDY. In other words, you must always explicitely STUDY at least one Java class in order to enter "Java land". After that, AUTOSTUDY can kick in for you since it analyzes the return types automatically for you.
Patrick On 11/23/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > Thanks Patrick. I had forgotten that. > > I have another question. Can we always use AUTOSTUDY. For example, the > following > little script would not work: > > -------------------------------------------------------------------------------- > use Inline Java => 'AUTOSTUDY', AUTOSTUDY => 1; > > my $hm = new java::util::HashMap() ; > > -------------------------------------------------------------------------------- > > Am I using the AUTOSTUDY option wrong, or are there only certain cases where > AUTOSTUDY can work? > > Please pardon me if my question arises out of my lack of knowledge of perl. I > am > new to perl. > > Thanks. > > Vishal > > > Quoting Patrick LeBoutillier <[EMAIL PROTECTED]>: > > > Forgot the list... > > > > ---------- Forwarded message ---------- > > From: Patrick LeBoutillier <[EMAIL PROTECTED]> > > Date: Nov 23, 2005 11:24 AM > > Subject: Re: Calling static methods from a studied class without > > creating an object > > To: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> > > > > > > Hi, > > > > On 11/23/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> > > wrote: > > > > > > Hi, > > > > > > I was wondering if it is possible to call a static method from a class > > which has > > > been studied by Inline::Java, if there is no constructor available for the > > > class. For example, I have written the following script: > > > > > > > > ---------------------------------------------------------------------------------- > > > #C:\sonicMQ-Perl\ShowQueues.pl > > > > > > use Inline Java => 'STUDY', STUDY => > > > ['com.sonicsw.mq.mgmtapi.runtime.MQProxyFactory']; > > > > > > #a bunch of perl commands > > > > > > my $broker = > > > > > com::sonicsw::mq::mgmtapi::runtime::MQProxyFactory->createBrokerProxy($connector, > > > $jmxName); #line 23 > > > > What type of object does createBrokerProxy return? You must add that > > to the STUDY list (or use AUTOSTUDY) to be able to manipulate that > > class type from Perl. > > > > Patrick > > > > > > > > my $queues = $broker->getQueues(0); #line 24 > > > > > > #some more perl commands > > > > > > > > -------------------------------------------------------------------------------- > > > > > > It is to be noted here that I have already defined $connector and $jmxName > > > before calling the static method, createBrokerProxy. I have also looked at > > the > > > java API used here, and the CLASSPATH environment variable, and they all > > seem to > > > be fine. When I try to run this script, I get the following error: > > > > > > > > -------------------------------------------------------------------------------- > > > > > > Can't call method 'getQueues' on an object (Inline::Java::Object) that is > > not bo > > > und to Perl at C:\sonicMQ-Perl\ShowQueues.pl line 24 > > > > > > > > -------------------------------------------------------------------------------- > > > > > > What am I doing wrong here? I'll appreciate any point-outs. > > > > > > Thanks. > > > > > > Vishal > > > > > > ---------------------------------------- > > > This mail sent through www.mywaterloo.ca > > > > > > > > > -- > > ===================== > > Patrick LeBoutillier > > Laval, Québec, Canada > > > > > > -- > > ===================== > > Patrick LeBoutillier > > Laval, Québec, Canada > > > > > > > ---------------------------------------- > This mail sent through www.mywaterloo.ca > -- ===================== Patrick LeBoutillier Laval, Québec, Canada