http://www.google.com/gwt/n?eosr=on&q=Reflection+generics+Java+&source=m&hl=en&ei=ZWfZSODxI5nYqAKR1t53&sa=X&oi=blended&ct=res&cd=4&rd=1&u=http%3A%2F%2Ftutorials.jenkov.com%2Fjava-reflection%2Fgenerics.html

On 9/23/08, Laurie Harper <[EMAIL PROTECTED]> wrote:
> Sounds reasonable until you remember two words: type erasure. There is
> no way to 'glean the generic type' of a collection at runtime.
>
> L.
>
> Gabriel Belingueres wrote:
>> I agree too.
>>
>> 2008/9/23 stanlick <[EMAIL PROTECTED]>:
>>> I agree totally!  If the TypeDeterminer had called getEmployees() <which
>>> it
>>> clearly did for iterator> *and* had bothered to glean the generic type of
>>> the key, it would have recognized the action expected the key to of type
>>> String.  If the data type is specifically spelled out and the framework
>>> decides a type diametrically opposed, this is a problem.:teeth:
>>>
>>>
>>>
>>> Gabriel Belingueres-2 wrote:
>>>> AFAIK, OGNL does not have any support for generics, but even if it
>>>> would support it, I would prefer that it wont be too smart, for
>>>> example in:
>>>>
>>>> <s:property value="aMap[abc].id"/>
>>>>
>>>> I prefer that abc be treated as an action property and call method
>>>> getAbc() than coerce it to the string 'abc'.
>>>>
>>>> 2008/9/23  <[EMAIL PROTECTED]>:
>>>>> Those are all good points, but when my collection was expressly
>>>>> declared
>>>>> to
>>>>> be a Map<String, Employee> I would sort of expect the key to be a
>>>>> String!
>>>>> When the framework "guesses" for a different type (feature?) and your
>>>>> application fails; all the discussion about valid number systems is
>>>>> sort
>>>>> of
>>>>> meaningless.
>>>>>
>>>>> Scott
>>>>>
>>>>> On Mon, Sep 22, 2008 at 7:53 PM, Gabriel Belingueres
>>>>> <[EMAIL PROTECTED]>wrote:
>>>>>
>>>>>> I don't know but I hope not, since I don't want my expressions to
>>>>>> reduce to different data types depending if there is a number or not
>>>>>> in them!
>>>>>> Even if abc would reduce to the string 'abc', the expression 0xabc
>>>>>> reduce to an Integer (have tested it), since it is an hexadecimal
>>>>>> number.
>>>>>>
>>>>>> 2008/9/22  <[EMAIL PROTECTED]>:
>>>>>>> I expected the conversion facility or iterator key to be smart enough
>>>>>> to
>>>>>>> recognize my Map<String, Employee> and setup the internal key
>>>>>>> variable
>>>>>>> accordingly.  Do you suppose it would have worked if my Map had
>>>>>> contained
>>>>>>> 'abc':emp1, 'def':emp2, 'ghi':emp3?
>>>>>>>
>>>>>>> Peace,
>>>>>>> Scott
>>>>>>>
>>>>>>> On Mon, Sep 22, 2008 at 3:47 PM, Gabriel Belingueres
>>>>>>> <[EMAIL PROTECTED]>wrote:
>>>>>>>
>>>>>>>> Interesting. Seems it is a feature, as documented in [1].
>>>>>>>>
>>>>>>>> Tested it myself:
>>>>>>>> <s:property value="1234h.class.name" />
>>>>>>>> <s:property value="1234b.class.name" />
>>>>>>>> <s:property value="1234F.class.name" />
>>>>>>>> <s:property value="1234L.class.name" />
>>>>>>>> <s:property value="1234d.class.name" />
>>>>>>>> <s:property value="(1234).class.name" />
>>>>>>>>
>>>>>>>> The last one (Integer) didn't work without the ( ), which I don't
>>>>>> know
>>>>>>>> if this is a necessity or a bug.
>>>>>>>> What about Short and Byte data type? it doesn't say...
>>>>>>>>
>>>>>>>> However, I think is NOT a bug that employees[1234F].id returns
>>>>>>>> nothing, since the map key is a string and you need to quote it
>>>>>>>> accordingly.
>>>>>>>>
>>>>>>>> [1]
>>>>>>>>
>>>>>> http://www.ognl.org/2.6.9/Documentation/html/LanguageGuide/basicExpressions.html#constants
>>>>>>>> 2008/9/22 stanlick <[EMAIL PROTECTED]>:
>>>>>>>>> I encountered a very strange situation today.  I had the following
>>>>>> in
>>>>>> a
>>>>>>>> web
>>>>>>>>> page:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> <s:iterator value="employees">
>>>>>>>>>    <s:textfield name="employees[%{key}].id .../>
>>>>>>>>>
>>>>>>>>> where the get method in my action was:
>>>>>>>>>
>>>>>>>>> public Map<String,Employee> getEmployees()
>>>>>>>>>
>>>>>>>>> The employee id 7932F was being interpreted as 7932!  The trailing
>>>>>> "F"
>>>>>>>> was
>>>>>>>>> apparently being considered a literal for FLOAT and was being
>>>>>> trimmed
>>>>>> off
>>>>>>>>> the String.
>>>>>>>>>
>>>>>>>>> When I wrapped the variable in quotes is worked
>>>>>>>>>
>>>>>>>>>  <s:textfield name="employees[  '%{key'  }].id .../>
>>>>>>>>>
>>>>>>>>> Does this appear to be a bug?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> View this message in context:
>>>>>> http://www.nabble.com/Custom-tag-and-map-backed-action-tp19614086p19614086.html
>>>>>>>>> Sent from the Struts - User mailing list archive at Nabble.com.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>>>>
>>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>>>
>>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>
>>>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Custom-tag-and-map-backed-action-tp19614086p19629362.html
>>> Sent from the Struts - User mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to