Annotation Type WorkbenchEditor


  • @Inherited
    @Retention(RUNTIME)
    @Target(TYPE)
    public @interface WorkbenchEditor
    Classes annotated with this are considered WorkbenchParts that perform some "editor" function for the specified file-type.

    At its simplest form the Class should implement com.google.gwt.user.client.ui.IsWidget (e.g. extend com.google.gwt.user.client.ui.Composite) and provide a method annotated with @WorkbenchPartTitle.

    Developers wishing to separate view from logic (perhaps by implementing the MVP pattern) can further provide a zero-argument method annotated with @WorkbenchPartView with return type com.google.gwt.user.client.ui.IsWidget.

    In this latter case the @WorkbenchEditor need not implement com.google.gwt.user.client.ui.IsWidget.

    WorkbechEditors can receive the following life-cycle calls:

    • @OnStartup(org.drools.guvnor.vfs.Path)
    • @OnOpen
    • @OnFocus
    • @OnLostFocus
    • @OnMayClose
    • @OnClose
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      String identifier
      Identifier that should be unique within application.
    • Element Detail

      • identifier

        String identifier
        Identifier that should be unique within application.
      • supportedTypes

        Class<? extends ClientResourceType>[] supportedTypes
        Array that defines all supported types of this editor.
        Default:
        {}
      • priority

        int priority
        Defines the priority of editor over type resolution, editors with same supported type will be resolved by priority.
        Default:
        0
      • owningPerspective

        Class<?> owningPerspective
        By default, a Workbench Editor will show up in the current active perspective. If this parameter is specified, this screen will only be shown on the given perspective. An attempt to navigate to this editor when a different perspective is active will first result in a switch to the owning perspective, then the editor will be shown in that perspective.
        Default:
        void.class
      • preferredHeight

        int preferredHeight
        Defines the preferred height. Preferred means that this Height will be used only if this screen is the trigger to create a new panel, if panel already exists this information is ignored.
        Default:
        -1
      • preferredWidth

        int preferredWidth
        Defines the preferred width. Preferred means that this Width will be used only if this screen is the trigger to create a new panel, if panel already exists this information is ignored.
        Default:
        -1
      • lockingStrategy

        WorkbenchEditor.LockingStrategy lockingStrategy
        Defines how and if locks are acquired when using this editor. By default, a pessimistic locking strategy is used, allowing edits by only one user at a time.
        Default:
        org.uberfire.client.annotations.WorkbenchEditor.LockingStrategy.FRAMEWORK_PESSIMISTIC
      • isDynamic

        boolean isDynamic
        Indicates that this screen can be discovered and loaded at runtime. This is useful when building plugins or extensions where the screen is part of an external script loaded at runtime, as opposed to being statically compiled into the main application.
        Default:
        false