Re: [picocontainer-dev] JSR330 work progress
Paul Hammant <[email protected]> Tue, 3 Aug 2010 06:34:24 -0500
| Newsgroups | gmane.comp.java.picocontainer.devel |
|---|---|
| Message-ID | <[email protected]> |
--00c09f923134f891e8048ce9b210
Content-Type: text/plain; charset=ISO-8859-1
OK, so one helper class gets me going in lieu of the applicable methods in
JType:
public class JTypeHelper {
public static final Generic INTEGER = Generic.get(Integer.class);
public static final Generic LONG = Generic.get(Long.class);
public static final Generic FLOAT = Generic.get(Float.class);
public static final Generic DOUBLE = Generic.get(Double.class);
public static final Generic BOOLEAN = Generic.get(Boolean.class);
public static final Generic CHARACTER = Generic.get(Character.class);
public static final Generic SHORT = Generic.get(Short.class);
public static final Generic BYTE = Generic.get(Byte.class);
public static final Generic VOID = Generic.get(Void.TYPE);
public static boolean isAssignableFrom(Generic<?> generic, Class<?>
aClass) {
if (generic.getType() instanceof Class) {
return ((Class) generic.getType()).isAssignableFrom(aClass);
}
return false;
}
public static boolean isAssignableTo(Generic<?> generic, Class aClass) {
if (generic.getType() instanceof Class) {
return aClass.isAssignableFrom((Class<?>) generic.getType());
}
return false;
}
public static boolean isPrimitive(Generic<?> generic) {
return generic.getType() instanceof Class && ((Class)
generic.getType()).isPrimitive();
}
}
--00c09f923134f891e8048ce9b210
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
OK, so one helper class gets me going in lieu of the applicable methods in =
JType:<div><br></div><div><div>public class JTypeHelper {</div><div><br></d=
iv><div>=A0=A0 =A0public static final Generic INTEGER =3D Generic.get(Integ=
er.class);</div>
<div>=A0=A0 =A0public static final Generic LONG =3D Generic.get(Long.class)=
;</div><div>=A0=A0 =A0public static final Generic FLOAT =3D Generic.get(Flo=
at.class);</div><div>=A0=A0 =A0public static final Generic DOUBLE =3D Gener=
ic.get(Double.class);</div>
<div>=A0=A0 =A0public static final Generic BOOLEAN =3D Generic.get(Boolean.=
class);</div><div>=A0=A0 =A0public static final Generic CHARACTER =3D Gener=
ic.get(Character.class);</div><div>=A0=A0 =A0public static final Generic SH=
ORT =3D Generic.get(Short.class);</div>
<div>=A0=A0 =A0public static final Generic BYTE =3D Generic.get(Byte.class)=
;</div><div>=A0=A0 =A0public static final Generic VOID =3D Generic.get(Void=
.TYPE);</div><div><br></div><div>=A0=A0 =A0public static boolean isAssignab=
leFrom(Generic<?> generic, Class<?> aClass) {</div>
<div>=A0=A0 =A0 =A0 =A0if (generic.getType() instanceof Class) {</div><div>=
=A0=A0 =A0 =A0 =A0 =A0 =A0return ((Class) generic.getType()).isAssignableFr=
om(aClass);</div><div>=A0=A0 =A0 =A0 =A0}</div><div>=A0=A0 =A0 =A0 =A0retur=
n false;</div><div>=A0=A0 =A0}</div><div><br></div>
<div>=A0=A0 =A0public static boolean isAssignableTo(Generic<?> generi=
c, Class aClass) {</div><div>=A0=A0 =A0 =A0 =A0if (generic.getType() instan=
ceof Class) {</div><div>=A0=A0 =A0 =A0 =A0 =A0 =A0return aClass.isAssignabl=
eFrom((Class<?>) generic.getType());</div>
<div>=A0=A0 =A0 =A0 =A0}</div><div>=A0=A0 =A0 =A0 =A0return false;</div><di=
v>=A0=A0 =A0}</div><div><br></div><div>=A0=A0 =A0public static boolean isPr=
imitive(Generic<?> generic) {</div><div>=A0=A0 =A0 =A0 =A0return gene=
ric.getType() instanceof Class && ((Class) generic.getType()).isPri=
mitive();</div>
<div>=A0=A0 =A0}</div><div><br></div><div>}</div></div>
--00c09f923134f891e8048ce9b210--