It works! Thanks :)

On Wed, Dec 23, 2009 at 11:28 AM, Thomas Broyer <[email protected]> wrote:

>
> On Dec 22, 8:04 pm, "[email protected]" <[email protected]>
> wrote:
> >  am implementing a generator to generate code using Apache Velocity.
> > The question is that you use the JClassType.getMetaData () to get the
> > annotations in the code. Some extraction of my code:
> >     GearsDataStoreGenerator extends Generator{
> >                   public String generate (TreeLogger logger,
> > GeneratorContext context, String typeName)  throws
> > UnableToCompleteException
> >      {    TypeOracle typeOracle = context.getTypeOracle();
> >          JClassType requestedClass = typeOracle.getType(typeName);
> >          requestedClass.getMetaData(ANNOTATION_TABLE); // GWT 1.7
> > returns the annotation metadata! GWT 2.0 returns nothing!
> >         ....
> > So GWT 1.7 version works perfect. But from version 2.0 stopped
> > working. Reading the sources of the method I detected the following
> > change:
> > GWT 2.0
> > @Deprecated
> >   public final String[][] getMetaData(String tagName) {
> >     return TypeOracle.NO_STRING_ARR_ARR;
> >   }
> > GWT 1.7
> > public abstract String[][] getMetaData(String tagName);
> > In the context help of the method, talks about how to replace it:
> > ...
> > @deprecated
> > Javadoc comment metadata has been deprecated in favor of proper Java
> > annotations. See HasAnnotations.getAnnotation(Class) for equivalent
> > functionality.
> > Someone could help me with some example of
> > HasAnnotations.getAnnotation
> > (Class) ??
> > It think I have to use @Target(ElementType.ANNOTATION_TYPE)?
>
> JClassType implements HasAnnotation, so you just have to replace your
> call to getMetaData to a call to getAnnotation, replacing the name of
> your annotation with its actual class, e.g.
>
>   public @interface Table {
>     String[] value();
>   }
>
>   @Table({ "foo", "bar", "baz" })
>   public class MyTable { }
>
>   JClassType sourceType = ...;
>   Table tableAnnotation = sourceType.getAnnotation(Table.class);
>   for (String v : tableAnnotation.value()) {
>      // will loop over "foo", "bar" and "baz"
>   }
>
> --
>
> You received this message because you are subscribed to the Google Groups
> "Google Web Toolkit" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-web-toolkit%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-web-toolkit?hl=en.
>
>
>


-- 
Ing. Inf. Matias Leandro Kruk
Blog: http://matiaskruk.blogspot.com/
Instituto Nacional de Investigación y Desarrollo Pesquero (INIDEP)
Paseo Victoria Ocampo N° 1,
Escollera Norte, (B7602HSA) Mar del Plata,
República Argentina
Cel: (0223)155485306
Tel: +54 (223) 4862586  (int:302-303)

--

You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.


Reply via email to