You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@johnzon.apache.org by "Romain Manni-Bucau (JIRA)" <ji...@apache.org> on 2016/06/28 21:49:56 UTC

[jira] [Resolved] (JOHNZON-87) support meta annotations

     [ https://issues.apache.org/jira/browse/JOHNZON-87?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Romain Manni-Bucau resolved JOHNZON-87.
---------------------------------------
    Resolution: Fixed

> support meta annotations
> ------------------------
>
>                 Key: JOHNZON-87
>                 URL: https://issues.apache.org/jira/browse/JOHNZON-87
>             Project: Johnzon
>          Issue Type: New Feature
>            Reporter: Romain Manni-Bucau
>            Assignee: Romain Manni-Bucau
>             Fix For: 0.9.4
>
>
> Idea is to allow end user to defined annotations from our annotations like in:
> {code}
>     public class User {
>         @Id
>         private long id;
>         @Name
>         private String name;
>         @Custom
>         private String custom;
>         @Custom("set")
>         private String custom2;
>         @Ignored
>         private String name2;
>         public long getId() {
>             return id;
>         }
>         public void setId(final long id) {
>             this.id = id;
>         }
>         public String getName() {
>             return name;
>         }
>         public void setName(final String name) {
>             this.name = name;
>         }
>         public String getCustom() {
>             return custom;
>         }
>         public void setCustom(final String custom) {
>             this.custom = custom;
>         }
>         public String getName2() {
>             return name2;
>         }
>         public void setName2(final String name2) {
>             this.name2 = name2;
>         }
>         public String getCustom2() {
>             return custom2;
>         }
>         public void setCustom2(final String custom2) {
>             this.custom2 = custom2;
>         }
>     }
>     @Target(FIELD)
>     @Retention(RUNTIME)
>     @JohnzonProperty("id")
>     public @interface Id {
>     }
>     @Target(FIELD)
>     @Retention(RUNTIME)
>     @JohnzonIgnore
>     public @interface Ignored {
>     }
>     @Target(FIELD)
>     @Retention(RUNTIME)
>     @JohnzonProperty("name")
>     public @interface Name {
>     }
>     @Target(FIELD)
>     @Retention(RUNTIME)
>     @JohnzonProperty("ignored")
>     public @interface Custom {
>         String value() default "overriden";
>     }
> {code}
> see MetaMapperTest for the full code



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)