<div dir="ltr"><div class="gmail_extra"><div><div>Hi all,</div><div><br></div><div>I am having a look at some code and realize that I don't understand the subtle difference between <font face="monospace, monospace">JavaType</font> and <font face="monospace, monospace">JavaSource</font> in certain cases. In some visitor code (see below), I see :</div><div><br></div><div><font face="monospace, monospace">JavaType<?> javaType = resource.getJavaType();<br></font></div><div><br></div><div>And other times I see :</div><div><br></div><div><font face="monospace, monospace">JavaSource<?> javaSource = javaResource.getJavaType();<br></font></div><div><br></div><div>So I look at the code. <font face="monospace, monospace">JavaSource</font> extends from <font face="monospace, monospace">JavaType</font>, adds one method, and then they both implement similar interfaces (<font face="monospace, monospace">JavaDocCapable</font> vs <font face="monospace, monospace">JavaDocCapableSource</font>).</div><div><br></div><div>So, in the following example, why use <font face="monospace, monospace">JavaSource</font> instead of <font face="monospace, monospace">JavaType</font> ?</div><div><br></div><div>Thanks</div><div>Antonio</div><div><br></div><div><font face="monospace, monospace"> @Override</font></div><div><font face="monospace, monospace"> public void visit(VisitContext context, JavaResource resource)</font></div><div><font face="monospace, monospace"> {</font></div><div><font face="monospace, monospace"> try</font></div><div><font face="monospace, monospace"> {</font></div><div><font face="monospace, monospace"> <b><font color="#ff0000">JavaType<?> javaType = resource.getJavaType();</font></b></font></div><div><font face="monospace, monospace"> if (javaType.isClass() && !javaType.hasAnnotation(Entity.class) javaSource.hasAnnotation(MappedSuperclass.class))</font></div><div><font face="monospace, monospace"> {</font></div><div><font face="monospace, monospace"> classes.add(resource);</font></div><div><font face="monospace, monospace"> }</font></div><div><font face="monospace, monospace"> }</font></div><div><font face="monospace, monospace"> catch (FileNotFoundException e)</font></div><div><font face="monospace, monospace"> {</font></div><div><font face="monospace, monospace"> // ignore</font></div><div><font face="monospace, monospace"> }</font></div><div><font face="monospace, monospace"> }</font></div></div><div><br></div><div><br></div>-- <br><div class="gmail_signature">Antonio Goncalves <br>Software architect and Java Champion<br><br><a href="http://www.antoniogoncalves.org/" target="_blank">Web site</a> | <a href="http://twitter.com/agoncal" target="_blank">Twitter</a> | <a href="http://www.linkedin.com/in/agoncal" target="_blank">LinkedIn</a> | <a href="http://www.parisjug.org/" target="_blank">Paris JUG</a> | <a href="http://www.devoxx.fr/" target="_blank">Devoxx France</a></div>
</div></div>