Next question :) Because it's related to what I'm doing with the first, I
figured go with the same thread...
I have an instance of the Test class, which contains the following:
private List children;
public void setChildren(final List inChildren) {
children = inChildren;
}
public List getChildren() {
return children;
}
Then, in a class trying to populate this, I have:
Object obj = new Test();
List fieldValues = new ArrayList();
fieldValues.add("test");
PropertyUtils.setIndexedProperty(obj, "children", fieldValues);
When I try it, I get:
java.lang.IllegalArgumentException: Invalid indexed property 'children'
Not sure what's going on... since this is the version of
setIndexedProperty() without the index, I assume it's going to call
setChildren(List) and not be looking for the setter with the index,
correct? Thanks!
Frank
--
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com
AIM: fzammetti
Yahoo: fzammetti
MSN: fzammetti@hotmail.com
Java Web Parts -
http://javawebparts.sourceforge.net
Supplying the wheel, so you don't have to reinvent it!
On Thu, June 1, 2006 2:57 pm, Frank W. Zammetti wrote:
> Yes, that's perfect, didn't know about that. Thanks Craig!
>
> Frank
>
> --
> Frank W. Zammetti
> Founder and Chief Software Architect
> Omnytex Technologies
> http://www.omnytex.com
> AIM: fzammetti
> Yahoo: fzammetti
> MSN: fzammetti@hotmail.com
> Java Web Parts -
> http://javawebparts.sourceforge.net
> Supplying the wheel, so you don't have to reinvent it!
>
> On Thu, June 1, 2006 2:36 pm, Craig McClanahan wrote:
>> On 6/1/06, Frank W. Zammetti <fzlists@omnytex.com> wrote:
>>>
>>> Hi,
>>>
>>> I'm struggling a bit with something, and I think I may be making it
>>> harder
>>> than it is. Here's my requirement...
>>>
>>> I need to be able to take an arbitrary bean, and given the name of a
>>> field
>>> in it, determine whether the field is (a) a simple scalar (i.e., String
>>> for istnance), (b) a subclass of List, (c) a subclass of Map or (d) an
>>> array (of any type).
>>>
>>> I've been playing with PropertyUtils.getPropertyDescriptor(), but I've
>>> kind of gotten stumped where to go after that... I've toyed with
>>> getting
>>> the Class from that, playing with getName() and getInterfaces(), both
>>> of
>>> which get me close, but I'd have to do string comparisons, which isn't
>>> the
>>> right answer I think... I've also thought of getting an instance from
>>> the
>>> Class, then doing a simple instanceof, but of course this won't work
>>> for
>>> Maps and Lists since they can't be instantiated.
>>>
>>> Like I said, I think I may be over-thinking this a bit, hopefully
>>> someone
>>> can quickly set me straight. Also, while I suspect Beanutils will make
>>> this easier, I don't so much care if I use it or not :) It just seemed
>>> the natural choice. Thanks!
>>
>>
>> You are probably looking for the isAssignableFrom() method on
>> java.lang.Class, which is the runtime analog to the "instanceof" compile
>> time check. To see if a particular class is a Map (or an impementation
>> of
>> Map), do something like this:
>>
>> Class clazz = ...;
>> if (Map.class.isAssignableFrom(clazz)) {
>> ... yes, this is a Map ...
>> } else {
>> ... no, it is not ...
>> }
>>
>> Craig
>>
>>
>>
>> --
>>> Frank W. Zammetti
>>> Founder and Chief Software Architect
>>> Omnytex Technologies
>>> http://www.omnytex.com
>>> AIM: fzammetti
>>> Yahoo: fzammetti
>>> MSN: fzammetti@hotmail.com
>>> Java Web Parts -
>>> http://javawebparts.sourceforge.net
>>> Supplying the wheel, so you don't have to reinvent it!
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>>> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>>>
>>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org
|