[forge-dev] [Roaster] Type<?> instanceof
George Gastaldi
ggastald at redhat.com
Thu Jul 3 23:06:42 EDT 2014
Hi Daniel,
You could try to load the class using: Class.forName and then attempt to check if the class isAssignableFrom(Number.class)
This will not work if the class does not belong to the current classloader, but I am not sure if you're going to run into this issue specifically.
> Em 03/07/2014, às 21:46, Daniel Cunha <danielsoro at gmail.com> escreveu:
>
> Hi folks,
>
> I want do that:
>
> type instanceof Number.
> That case, my type can be AtomicInteger, AtomicLong, BigDecimal, BigInteger, Byte, Double, Float, Integer, Long and Short
>
> Eg:.
>
> public static Type<?> getIdType(JavaClass<?> entity)
> {
> for (Member<?> member : entity.getMembers())
> {
> if (member.hasAnnotation(Id.class))
> {
> if (member instanceof Method)
> {
> return ((Method<?, ?>) member).getReturnType();
> }
> if (member instanceof Field)
> {
> return ((Field<?>) member).getType();
> }
> }
> }
> return null;
> }
> public static boolean isNumberIdType(JavaClass<?> entity)
> {
> return getIdType(entity) instanceof Number;
> }
> I see the code and I don’t see a simple form to do it.
> How I do that with Roaster Type<?>?
>
> I thought to do that in Types (roaster util):
>
> public static boolean isNumber(final String type)
> {
> if (isBasicType(type))
> {
> if (isPrimitive(type))
> {
> return Arrays.asList("int", "long", "float", "double", "short").contains(type);
> }
> return Arrays.asList("Boolean", "Byte", "Double", "Float", "Integer", "Long", "Short").contains(
> type);
> }
> return false;
> }
> But, it isn’t good.
>
>
> --
> Daniel Cunha (soro) <http://www.cejug.net>
> Blog: http://www.danielsoro.com.br
> Twitter: https://twitter.com/dvlc_
> GitHub: https://github.com/danielsoro
> LinkedIn: http://www.linkedin.com/in/danielvlcunha
> _______________________________________________
> forge-dev mailing list
> forge-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20140703/e75c0391/attachment-0001.html
More information about the forge-dev
mailing list