This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
myclass should be title case. e.g. MyClass. Check Java Coding Conventions Line 4 - You're trying to get a method defined in MyClass using myObject.
but At line 3 - The datatype of myObject is Object instead of MyClass.
No. If you could reference com.mycom.MyClass you wouldn't be using reflection, would you? You would just create the object normally. The problem is the instance (myObject) doesn't hold references to the Methods, the class does. So you need to get a reference to the Class object. You try that using myObject.class but that won't work, because Object does not have a publicly accessible member called class. You could get the class Object using myObject.getClass() because Object does have an accessible getClass() method. But you don't need to: you already have the Class object Class c.
And if the method is not a static method then line 5 will fail. You need to pass it two things (based on the method signature): 1: the instance myObject, on which the method will be executed and 2: a String parameter.
Yes, assuming the method signatures are all correct. Just as a note: Life becomes a lot easier with Reflection when you can cast the Object to a known type. So you may not know about the specific com.whatever.MyClass, but if MyClass implements com.somethingcommon.Worker and you know about the Worker interface you can do:
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com