IMHO, there is a minor difference that may explain it. JavaType should be used when the
object might be a compiled java type vs when you have the source code of a Java type
(JavaSource). In practice they don't differ much but afaik this was the main
difference.
PS: Roaster does not support parsing of compiled java types yet, but the model is ready
for this feature when it becomes available.
Em 13/03/2015, às 18:19, Antonio Goncalves
<antonio.mailing(a)gmail.com> escreveu:
Hi all,
I am having a look at some code and realize that I don't understand the subtle
difference between JavaType and JavaSource in certain cases. In some visitor code (see
below), I see :
JavaType<?> javaType = resource.getJavaType();
And other times I see :
JavaSource<?> javaSource = javaResource.getJavaType();
So I look at the code. JavaSource extends from JavaType, adds one method, and then they
both implement similar interfaces (JavaDocCapable vs JavaDocCapableSource).
So, in the following example, why use JavaSource instead of JavaType ?
Thanks
Antonio
@Override
public void visit(VisitContext context, JavaResource resource)
{
try
{
JavaType<?> javaType = resource.getJavaType();
if (javaType.isClass() && !javaType.hasAnnotation(Entity.class)
javaSource.hasAnnotation(MappedSuperclass.class))
{
classes.add(resource);
}
}
catch (FileNotFoundException e)
{
// ignore
}
}
--
Antonio Goncalves
Software architect and Java Champion
Web site | Twitter | LinkedIn | Paris JUG | Devoxx France
_______________________________________________
forge-dev mailing list
forge-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev