avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sharmarke Aden (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AVRO-1205) Add Stereotype Annotation to Generated Beans
Date Thu, 15 Nov 2012 01:26:12 GMT

    [ https://issues.apache.org/jira/browse/AVRO-1205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13497682#comment-13497682
] 

Sharmarke Aden commented on AVRO-1205:
--------------------------------------

There is no harm in always adding an annotation to emitted classes and doing so would preferable.
I don't know enough about package placement preference in Avro so I will deffer to you on
the matter. 

With respect to using Generated annotation, I believe annotating all generated beans using
standard annotations would be wise but as you've mentioned it makes runtime detection of Avro
beans a bit more cumbersome and clunky. My preference is to have Avro own its annotation(s)
much like JAXB and various other frameworks. 
                
> Add Stereotype Annotation to Generated Beans
> --------------------------------------------
>
>                 Key: AVRO-1205
>                 URL: https://issues.apache.org/jira/browse/AVRO-1205
>             Project: Avro
>          Issue Type: New Feature
>          Components: java
>    Affects Versions: 1.7.2
>            Reporter: Sharmarke Aden
>            Priority: Minor
>
> Avro generated schema beans currently lack a formal way of distinguishing them as Avro
schema beans at runtime. I would like to propose that a new stereotype annotation be added
to Avro Core and the ability to have all Avro generated schema beans annotated with this newly
created stereotype annotation.
> I'm planning on adding a FallbackTypeConverter to the Camel-Avro project and I hoping
this feature will allow me to cleanly detect Avro beans for conversion at runtime.
> If this feature is implemented Avro schema beans would look something like this:
> {code}
> ...
> @org.apache.avro.reflect.AvroSchema
> public class User extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord
{
> ...
> }
> ...
> {code}
> The maven plugin configuration would look something like this:
> {code}
> <plugin>
>   <groupId>org.apache.avro</groupId>
>   <artifactId>avro-maven-plugin</artifactId>
>   <executions>
>     <execution>
>       <goals>
>         <goal>schema</goal>
>       </goals>
>     </execution>
>   </executions>
>   <configuration>
>    <stereotype>true</stereotype>
>   </configuration>
> </plugin>
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message