MVEL will handle type coercion for method parameters, properties, and even on
egress of those values if the generic type information can be deduced on
ingress.  In situtations where the generic type is dependent on the root of
the object graph though, MVEL cannot infer generic type data (ie. a bound
variable, that's say a Map) because of erasure.  There is no generic type
information held on a per-instance basis.  

However, if the parameterized type is a class member say:

class Foo {
   public Map<String, Integer> map; 
}

And you use an instance of Foo as a context or as a bound variable, MVEL's
compiler can certainly extract the generic type information, and provide
automatic coercion and verification accordingly.  MVEL's type verifier will
always extrapolate whatever type data is available.
  


Brian Pontarelli wrote:
> 
> This is not quite the same unless it can detect generics while setting  
> values and creating values. An example might be values from a form  
> going into something like:
> 
>       List<String>
> 
> or
> 
>       Map<String, List<Integer>>
> 
> or the always fun
> 
>       List<List<Integer>>
> 
> that sorta thing. I know that OGNL had (might not any longer) many  
> issues with generics in this respect. I think OGNL also got mad when  
> it encountered something simple like:
> 
>       int[]
> 
> or
> 
>       String[]
> 
> coming from checkbox lists and multiple selects. I believe that it  
> would stuff the values into the String[] like this:
> 
>       {"value1,value2,value3"}
> 
> rather than
> 
>       {"value1", "value2", "value3"}
> 
> This was a while ago, so all of this might be fixed.
> 
> -bp
> 
> 
> On Oct 9, 2008, at 7:32 PM, Chris Brock wrote:
> 
>>
>> MVEL 2.0 has full support for generics (and static typing):
>> http://mvel.codehaus.org/Strong+Typing+Mode
>>
>>
>> Brian Pontarelli wrote:
>>>
>>>
>>> On Oct 7, 2008, at 3:08 PM, Dave Newton wrote:
>>>
>>>> Just to muddy the EL/templating waters:
>>>>
>>>> http://mvel.codehaus.org/Performance+of+MVEL
>>>>
>>>> (v. OGNL)
>>>
>>> Not sure about MVEL or OGNL at this point, but everything was lacking
>>> in support for generics, collections and arrays. I wrote my own for
>>> the JCatapult MVC and it was really not all that hard. It only  
>>> handles
>>> getting and setting, but I figure that's all that should be allowed  
>>> at
>>> that point anyways.
>>>
>>> -bp
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/MVEL--tp19867360p19910418.html
>> Sent from the Struts - Dev 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]
> 
> 
> 
-- 
View this message in context: 
http://www.nabble.com/MVEL--tp19867360p19914597.html
Sent from the Struts - Dev mailing list archive at Nabble.com.


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

Reply via email to