package au.com.vaadinutils.menu; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) // Make this annotation accessible at runtime via reflection. @Target({ ElementType.TYPE }) // This annotation can only be applied to classes. public @interface Menu { public final static String MENUBAR = "MenuBar"; String display(); String path() default MENUBAR; ActionType actionType() default ActionType.NAVIGATE; /** * used by ActionType URL and URL_NEW_WINDOW * * @return */ String url() default ""; /** * used by ActionType URL_NEW_WINDOW * * @return */ String windowName() default ""; /** * used by ActionType URL_NEW_WINDOW * * @return */ int width() default 0; /** * used by ActionType URL_NEW_WINDOW * * @return */ int height() default 0; /** * this needs to be the last menu added or it will have unpredictable * results * * @return */ boolean atTop() default false; /** * allows URL_NEW_WINDOW to specify a dynamic size for the new window * @return */ Class<? extends WindowSizer> windowSizer() default WindowSizerNull.class; }