<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Hi Daniel,</div><div><br></div><div>You could try to load the class using: Class.forName and then attempt to check if the class isAssignableFrom(Number.class)</div><div><br></div><div>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.</div><div><br>Em 03/07/2014, às 21:46, Daniel Cunha &lt;<a href="mailto:danielsoro@gmail.com">danielsoro@gmail.com</a>&gt; escreveu:<br><br></div><blockquote type="cite"><div><div dir="ltr"><div class="markdown-here-wrapper" style=""><p style="margin:1.2em 0px!important">Hi folks,</p>
<p style="margin:1.2em 0px!important">I want do that: </p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code class="language-java" style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;display:inline;background-color:rgb(248,248,248);white-space:pre;overflow:auto;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;padding:0.5em;color:rgb(51,51,51);background:rgb(248,248,255)">type <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">instanceof</span> Number.
</code></pre>
<p style="margin:1.2em 0px!important">That case, my type can be AtomicInteger, AtomicLong, BigDecimal, BigInteger, Byte, Double, Float, Integer, Long and Short</p>
<p style="margin:1.2em 0px!important">Eg:.</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code class="language-java" style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;display:inline;background-color:rgb(248,248,248);white-space:pre;overflow:auto;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;padding:0.5em;color:rgb(51,51,51);background:rgb(248,248,255)"> <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">public</span> <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">static</span> Type&lt;?&gt; getIdType(JavaClass&lt;?&gt; entity)
   {
      <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">for</span> (Member&lt;?&gt; member : entity.getMembers())
      {
         <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">if</span> (member.hasAnnotation(Id.<span class="class" style="color:rgb(68,85,136);font-weight:bold"><span class="keyword" style="color:rgb(51,51,51);font-weight:bold">class</span>))
         </span>{
            <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">if</span> (member <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">instanceof</span> Method)
            {
               <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">return</span> ((Method&lt;?, ?&gt;) member).getReturnType();
            }
            <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">if</span> (member <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">instanceof</span> Field)
            {
               <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">return</span> ((Field&lt;?&gt;) member).getType();
            }
         }
      }
      <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">return</span> <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">null</span>;
   }
</code></pre>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code class="language-java" style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;display:inline;background-color:rgb(248,248,248);white-space:pre;overflow:auto;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;padding:0.5em;color:rgb(51,51,51);background:rgb(248,248,255)">    <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">public</span> <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">static</span> <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">boolean</span> isNumberIdType(JavaClass&lt;?&gt; entity)
   {
      <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">return</span> getIdType(entity) <span class="keyword" style="color:rgb(51,51,51);font-weight:bold">instanceof</span> Number;
   }
</code></pre>
<p style="margin:1.2em 0px!important">I see the code and I don’t see a simple form to do it.<br>How I do that with Roaster Type&lt;?&gt;?</p>
<p style="margin:1.2em 0px!important">I thought to do that in Types (roaster util):</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;display:inline;background-color:rgb(248,248,248);white-space:pre;overflow:auto;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;padding:0.5em;color:rgb(51,51,51);background:rgb(248,248,255)">   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;
   }
</code></pre><p style="margin:1.2em 0px!important">But, it isn’t good.</p>
<div title="MDH:PGRpdj5IaSBmb2xrcyw8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pkkgd2FudCBkbyB0aGF0OiZu
YnNwOzwvZGl2PjxkaXY+YGBgamF2YTwvZGl2PjxkaXY+dHlwZSBpbnN0YW5jZW9mIE51bWJlci48
L2Rpdj48ZGl2PmBgYDwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhhdCBjYXNlLCBteSB0eXBl
IGNhbiBiZSBBdG9taWNJbnRlZ2VyLCBBdG9taWNMb25nLCBCaWdEZWNpbWFsLCBCaWdJbnRlZ2Vy
LCBCeXRlLCBEb3VibGUsIEZsb2F0LCBJbnRlZ2VyLCBMb25nIGFuZCBTaG9ydDwvZGl2PjxkaXY+
PGJyPjwvZGl2PjxkaXY+RWc6LjwvZGl2PjxkaXY+YGBgamF2YTwvZGl2PjxkaXY+Jm5ic3A7cHVi
bGljIHN0YXRpYyBUeXBlJmx0Oz8mZ3Q7IGdldElkVHlwZShKYXZhQ2xhc3MmbHQ7PyZndDsgZW50
aXR5KTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwO3s8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5i
c3A7IGZvciAoTWVtYmVyJmx0Oz8mZ3Q7IG1lbWJlciA6IGVudGl0eS5nZXRNZW1iZXJzKCkpPC9k
aXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyB7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7aWYgKG1lbWJlci5oYXNBbm5vdGF0aW9uKElkLmNsYXNzKSk8L2Rp
dj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt7PC9kaXY+PGRpdj4mbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBpZiAobWVtYmVyIGluc3RhbmNl
b2YgTWV0aG9kKTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgezwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwO3JldHVybiAoKE1ldGhvZCZsdDs/LCA/Jmd0OykgbWVtYmVyKS5nZXRS
ZXR1cm5UeXBlKCk7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyB9PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyBpZiAobWVtYmVyIGluc3RhbmNlb2YgRmllbGQpPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJuICgoRmllbGQmbHQ7
PyZndDspIG1lbWJlcikuZ2V0VHlwZSgpOzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgfTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwO308L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7IH08L2Rpdj48ZGl2PiZu
YnNwOyAmbmJzcDsgJm5ic3A7IHJldHVybiBudWxsOzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwO308
L2Rpdj48ZGl2PmBgYDwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+YGBg
amF2YTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBwdWJsaWMgc3RhdGljIGJvb2xlYW4gaXNOdW1i
ZXJJZFR5cGUoSmF2YUNsYXNzJmx0Oz8mZ3Q7IGVudGl0eSk8L2Rpdj48ZGl2PiZuYnNwOyAmbmJz
cDt7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyByZXR1cm4gZ2V0SWRUeXBlKGVudGl0
eSkgaW5zdGFuY2VvZiBOdW1iZXI7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7fTwvZGl2PjxkaXY+
YGBgPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JIHNlZSB0aGUgY29kZSBhbmQgSSBkb24ndCBz
ZWUgYSBzaW1wbGUgZm9ybSB0byBkbyBpdC48L2Rpdj48ZGl2PkhvdyBJIGRvIHRoYXQgd2l0aCBS
b2FzdGVyIFR5cGUmbHQ7PyZndDs8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkkgdGhvdWdodCB0
byBkbyB0aGF0IGluIFR5cGVzIChyb2FzdGVyIHV0aWwpOjwvZGl2PjxkaXY+YGBgPC9kaXY+PGRp
dj48ZGl2PiZuYnNwOyAmbmJzcDtwdWJsaWMgc3RhdGljIGJvb2xlYW4gaXNOdW1iZXIoZmluYWwg
U3RyaW5nIHR5cGUpPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ezwvZGl2PjxkaXY+Jm5ic3A7ICZu
YnNwOyAmbmJzcDsgaWYgKGlzQmFzaWNUeXBlKHR5cGUpKTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNw
OyAmbmJzcDsgezwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2lm
IChpc1ByaW1pdGl2ZSh0eXBlKSk8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDt7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyByZXR1cm4gQXJyYXlzLmFzTGlzdCgiaW50IiwgImxvbmciLCAiZmxvYXQiLCAiZG91Ymxl
IiwgInNob3J0IikuY29udGFpbnModHlwZSk7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7fTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwO3JldHVybiBBcnJheXMuYXNMaXN0KCJCb29sZWFuIiwgIkJ5dGUiLCAiRG91YmxlIiwgIkZs
b2F0IiwgIkludGVnZXIiLCAiTG9uZyIsICJTaG9ydCIpLmNvbnRhaW5zKDwvZGl2PjxkaXY+Jm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgdHlwZSk7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyB9PC9kaXY+PGRpdj4mbmJz
cDsgJm5ic3A7ICZuYnNwOyByZXR1cm4gZmFsc2U7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7fTwv
ZGl2PjwvZGl2PjxkaXY+YGBgPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5CdXQsIGl0IGlzbid0
IGdvb2QuPC9kaXY+PGRpdj48YnIgY2xlYXI9ImFsbCI+PGRpdj48YnI+PC9kaXY+PC9kaXY+" style="height:0;font-size:0em;padding:0;margin:0">​</div></div><div class="markdown-here-signature">-- <br><div dir="ltr"><div><span style="font-size:12px;color:rgb(0,0,0)">Daniel Cunha (soro) &lt;<a href="http://www.cejug.net" target="_blank">http://www.cejug.net</a>&gt;</span><br>
</div><div><font color="#000000"><span style="font-size:12px">Blog: <a href="http://www.danielsoro.com.br" target="_blank">http://www.danielsoro.com.br</a></span></font></div><div><font color="#000000"><span style="font-size:12px">Twitter: <a href="https://twitter.com/dvlc_" target="_blank">https://twitter.com/dvlc_</a></span></font></div>
<div><font color="#000000"><span style="font-size:12px">GitHub: <a href="https://github.com/danielsoro" target="_blank">https://github.com/danielsoro</a></span></font></div><div><font color="#000000"><span style="font-size:12px">LinkedIn: &nbsp;<a href="http://www.linkedin.com/in/danielvlcunha" target="_blank">http://www.linkedin.com/in/danielvlcunha</a></span></font><span style="font-size:12px;color:rgb(0,0,0)">&nbsp;</span><br>
</div></div>
</div></div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>forge-dev mailing list</span><br><span><a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a></span><br><span><a href="https://lists.jboss.org/mailman/listinfo/forge-dev">https://lists.jboss.org/mailman/listinfo/forge-dev</a></span></div></blockquote></body></html>