Some thoughts... 1. You can only pass Objects to the Method.invoke method (which I assume you are using to invoke your methods), so you don't need to worry about dealing with primitive types. 2. You need to be able to create new Objects to represent your parameters, based on a String that represents the type, and a String that represents the value.
You could map your type names to Factory classes, which would generate an object of the right type from the value String. You would need to supply a Factory for each different object type you wanted to have in your XML But since all your objects need to be constructed from knowledge of a single String, they are probably not going to be that esoteric, and you probably won't have that many different types I would guess. Chris ---------------------- Jeff Fisher wrote: > Ok, let me refraise what I need to do. I know what the types are for > the parameters by the xml doc or by the getParameterTypes method. The > question now becomes, how do I convert the values of the parameters > from the xml file into the correct types so I can pass those to the > method. This is where I'm having problems. > > For example: > I need to somehow take the string 100 and create the correct method > argument (an int) without knowing ahead of time that the param is an > int. The code that has to do this has no intrinsic knowledge of the > method being called. > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] > Sent: Thursday, September 12, 2002 10:13 AM > To: JDJList > Subject: [jdjlist] RE: Determine type from text > > Jeff, > > I am not sure if your question is regarding whether or not an > object can be represented using XML or if you are trying to find > out the types of the parameters of a method. > > I will assume the second. If I am wrong, so sorry:) > > Since you have already looked at reflection, did you try the > java.lang.reflect.Method.getParameterTypes()? This returns an > array containing one class object for each of the method's > parameters. > > > Chikeobi O. Njaka > > -----Original Message----- > From: Jeff Fisher [mailto:[EMAIL PROTECTED]] > Sent: Thursday, September 12, 2002 5:51 AM > To: JDJList > Subject: [jdjlist] Determine type from text > > > Given the following xml file: > > <?xml version="1.0"?> > <ServiceRequest> > <Service> > com.emerywaterhouse.websvc.FrtCalc > </Service> > <Method> > getFreightCharge > </Method> > <Param> > <Type> > String > </Type> > <Value> > UPSG > </Value> > </Param> > <Param> > <Type> > String > </Type> > <Value> > 04104 > </Value> > </Param> > <Param> > <Type> > int > </Type> > <Value> > 100 > </Value> > </Param> > </ServiceRequest> > > Using reflection I can create the class, and call the method. The > only problem is determining and converting the parameters to the > correct type. I suppose I can use a brute force method and have a > large number of if else statements, but that doesn't seem viable. > Also, if the parameter is an object, I'll never be able to code > for all possible objects. > > I've looked through a number of resources, but nothing I've seen > has examples of determining the types for parameters. > > Does anyone have a suggestion here or a resource I can look at. > > TIA > > Jeff > > To change your JDJList options, please visit: > http://www.sys-con.com/java/list.cfm > > To change your JDJList options, please visit: > http://www.sys-con.com/java/list.cfm Information contained in this > email message is intended only for > use of the individual or entity named above. If the reader of > this message is not the intended recipient, or the employee or > agent responsible to deliver it to the intended recipient, you > are hereby notified that any dissemination, distribution or > copying of this communication is strictly prohibited. If you > have received this communication in error, please immediately > notify the [EMAIL PROTECTED] and destroy the original > message. > > To change your JDJList options, please visit: > http://www.sys-con.com/java/list.cfm To change your JDJList options, please visit: http://www.sys-con.com/java/list.cfm
