Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Memory Analyzer » OQL: calling Java methods
OQL: calling Java methods [message #544588] Sun, 04 July 2010 14:09 Go to next message
Simeon Zverinski is currently offline Simeon ZverinskiFriend
Messages: 2
Registered: July 2009
Junior Member
The help system states that it's possible to call methods through reflection

Quote:

Calling Java methods

[ <alias> . ] @<method>( [ <expression>, <expression> ] ) ...

Adding ( ) forces OQL to interpret this as a Java method call. The call is executed via reflection. Common Java methods.



But I can't get it working. For example, this is the result when trying to call getTime() from the java.util.Date

Quote:

Executed Query:
SELECT d.@getTime() FROM java.util.Date d

Problem reported:
Method getTime not found in object java.util.Date [id=0x647cd5e8]



The same happens with all methods that don't belong to the java.lang.Object class.

Am I doing something wrong or is this feature not supported yet?

Thx!

Re: OQL: calling Java methods [message #544739 is a reply to message #544588] Mon, 05 July 2010 11:55 Go to previous message
Andrew Johnson is currently offline Andrew JohnsonFriend
Messages: 205
Registered: July 2009
Senior Member
It doesn't work like that - the methods are on the MAT objects representing the objects or classes in the dump, not your actual methods in your program.

E.g.
IObject is the interface giving access to the MAT view of any object in the dump.

IClass is the interface giving access to the MAT view of any class in the dump.

See the API doc -
help -> reference -> API Reference
to see the methods on IClass, IObject etc.

Try:
SELECT d.getObjectId() FROM java.util.Date d

SELECT toHex(d.getObjectAddress()) FROM java.util.Date d

We should improve the help and provide links to the API doc.



Previous Topic:Memory Analyzer Forum Moved
Next Topic:Updated Memory Analyzer on IBM Support Assistant and new DTFJ
Goto Forum:
  


Current Time: Thu Apr 25 10:24:27 GMT 2024

Powered by FUDForum. Page generated in 0.02764 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top