Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @UI.App(
- name = "locations",
- columns = {
- @UI.Presenter.PropertyColumn("title"),
- @UI.Presenter.PropertyColumn("enabled"),
- @UI.Presenter.StatusColumn,
- @UI.Presenter.LastModifiedColumn
- }
- )
- public class Location {
- private String title;
- private Boolean enabled;
- }
- public interface UI {
- @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE})
- public @interface App {
- public String name();
- public Presenter.Column[] columns() default {};
- }
- public interface Presenter {
- @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE})
- public @interface Column {}
- @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE})
- public @interface PropertyColumn {
- public String value();
- public boolean editable() default false;
- }
- @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE})
- public @interface StatusColumn {}
- @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE})
- public @interface LastModifiedColumn {}
- }
- }
- @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE})
- public @interface Column {
- ColumnType value();
- String property() default "";
- boolean editable() default false;
- }
- @UI.App(
- name = "locations",
- columns = {
- @UI.Presenter.Column(value=ColumnType.PROPERTY, property="title"),
- @UI.Presenter.Column(value=ColumnType.PROPERTY, property="enabled"),
- @UI.Presenter.Column(ColumnType.STATUS),
- @UI.Presenter.Column(ColumnType.LAST_MODIFIED)
- }
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement