*lol*
Am 15.04.2008 um 22:34 schrieb Igor Vaynberg:
what do you have against butts? :)
-igor
On Tue, Apr 15, 2008 at 1:27 PM, Peter Ertl <[EMAIL PROTECTED]>
wrote:
+1 for "public IConverter<?> getConverter(Class<?> clazz)"
having to cast the IConverter
return (IConverter<K>) new IConverter<Integer>() {
looks butt-ugly to me :-(
Am 15.04.2008 um 22:04 schrieb Igor Vaynberg:
that is actually a pro and not a con. we call getconverter() whle
users implement getconverter(). so id rather its us (wicket devs)
that
have to cast
-igor
On Tue, Apr 15, 2008 at 12:42 PM, Bruno Borges <[EMAIL PROTECTED]
>
wrote:
Yeah, but that way you have to cast outsite getConverter:
IConverter<Integer> c = (IConverter<Integer>)
getConverter(Integer.class);
The way I propose, the casting control is inside.
On Tue, Apr 15, 2008 at 4:39 PM, Igor Vaynberg <[EMAIL PROTECTED]
>
wrote:
if i have to do a hard cast there is very little advantage to <L>,
might as well be public IConverter<?> getConverter(Class<?> clazz)
-igor
On Tue, Apr 15, 2008 at 12:25 PM, Bruno Borges
<[EMAIL PROTECTED]>
wrote:
This is what you could do:
import java.util.Locale;
public class Test {
public <L> IConverter<L> getConverter(Class<L> type) {
return null;
}
}
class InnerTest extends Test {
public <K> IConverter<K> getConverter(Class<K> type) {
if (Integer.class.isAssignableFrom(type)) {
return (IConverter<K>) new IConverter<Integer>() {
public Integer convertToObject(String value, Locale
locale)
{
return null;
}
public String convertToString(Integer value, Locale
locale)
{
return null;
}
};
} else {
return super.getConverter(type);
}
}
public void foo() {
IConverter<Integer> converter = getConverter(Integer.class);
}
}
interface IConverter<X> {
public X convertToObject(String value, Locale locale);
public String convertToString(Integer value, Locale locale);
}
But, you are obligated to use a hard cast inside of getConverter
either
way.
Regards
On Tue, Apr 15, 2008 at 4:04 PM, Igor Vaynberg
<[EMAIL PROTECTED]
wrote:
Type mismatch: cannot convert from new IConverter<Integer>(){}
to
IConverter<Z>
i can hard cast to IConverter<Z> myself, but then there is very
little
point to having it generified
-igor
On Tue, Apr 15, 2008 at 11:59 AM, Bruno Borges <
[EMAIL PROTECTED]>
wrote:
What is the compile error message?
On Tue, Apr 15, 2008 at 3:10 PM, Igor Vaynberg <
[EMAIL PROTECTED]
wrote:
maybe just IConverter<?> getConverter(Class<?> cl)
-igor
On Tue, Apr 15, 2008 at 11:05 AM, Igor Vaynberg <
[EMAIL PROTECTED]>
wrote:
example below doesnt compile, so im not exactly sure how to
override
generified getconverter() properly ... do we need to change
our
generics decl somehow?
-igor
@Override
public <Z> IConverter<Z> getConverter(Class<Z> type)
{
if (Integer.class.isAssignableFrom(type))
{
return new IConverter<Integer>()
{
private static final long
serialVersionUID = 1L;
public Integer
convertToObject(String
value, Locale locale)
{
return null;
}
public String
convertToString(Integer
value, Locale locale)
{
return null;
}
};
}
else
{
return super.getConverter(type);
}
}
--
Bruno Borges
blog.brunoborges.com.br
+55 1185657739
"The glory of great men should always be
measured by the means they have used to
acquire it."
- Francois de La Rochefoucauld
--
Bruno Borges
blog.brunoborges.com.br
+55 1185657739
"The glory of great men should always be
measured by the means they have used to
acquire it."
- Francois de La Rochefoucauld
--
Bruno Borges
blog.brunoborges.com.br
+55 1185657739
"The glory of great men should always be
measured by the means they have used to
acquire it."
- Francois de La Rochefoucauld