Package io.jmix.ui.action
Class AbstractScreenAction<A extends AbstractScreenAction<A,S>,S extends Screen>
java.lang.Object
io.jmix.ui.action.AbstractAction
io.jmix.ui.action.BaseAction
io.jmix.ui.action.AbstractScreenAction<A,S>
- Type Parameters:
A
- type of actionS
- type of screen
- All Implemented Interfaces:
Action
,Action.ExecutableAction
,Action.HasPrimaryState
,Action.ScreenAction<S>
,Action.SecuredAction
- Direct Known Subclasses:
OperationResultScreenAction
public abstract class AbstractScreenAction<A extends AbstractScreenAction<A,S>,S extends Screen>
extends BaseAction
implements Action.ScreenAction<S>, Action.ExecutableAction
Base class for screen actions.
-
Nested Class Summary
Nested classes/interfaces inherited from class io.jmix.ui.action.BaseAction
BaseAction.EnabledRule
Nested classes/interfaces inherited from interface io.jmix.ui.action.Action
Action.ActionPerformedEvent, Action.AdjustWhenScreenReadOnly, Action.ExecutableAction, Action.HasPrimaryState, Action.HasSecurityConstraint, Action.HasTarget, Action.MainTabSheetAction, Action.OperationResultAction, Action.ScreenAction<S extends Screen>, Action.ScreenOpeningAction, Action.SecuredAction, Action.Status
-
Field Summary
Fields inherited from class io.jmix.ui.action.AbstractAction
caption, description, enabled, eventHub, icon, id, owners, primary, shortcut, visible
Fields inherited from interface io.jmix.ui.action.Action
PROP_CAPTION, PROP_DESCRIPTION, PROP_ENABLED, PROP_ICON, PROP_SHORTCUT, PROP_VISIBLE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
actionPerform
(Component component) Invoked by owning component to execute the action.protected void
protected void
protected boolean
Callback method which is invoked by the action to determine its enabled state.void
withCaption
(String caption) Set caption using fluent API method.withDescription
(String description) Set description using fluent API method.withEnabled
(boolean enabled) withEnabledByUiPermissions
(boolean enabledByUiPermissions) withHandler
(Consumer<Action.ActionPerformedEvent> handler) Set action performed event handler using fluent API method.Set icon using fluent API method.withPrimary
(boolean primary) Set whether this action is primary using fluent API method.withShortcut
(String shortcut) Set shortcut using fluent API method.withTarget
(S target) withVisible
(boolean visible) withVisibleByUiPermissions
(boolean visibleByUiPermissions) Methods inherited from class io.jmix.ui.action.BaseAction
addActionPerformedListener, addEnabledRule, isEnabledByRule, isEnabledByUiPermissions, isPermitted, isVisibleByUiPermissions, refreshState, removeEnabledRule, setEnabled, setEnabledByUiPermissions, setEnabledInternal, setVisible, setVisibleByUiPermissions, setVisibleInternal
Methods inherited from class io.jmix.ui.action.AbstractAction
addOwner, addPropertyChangeListener, firePropertyChange, getCaption, getDescription, getEventHub, getIcon, getId, getOwner, getOwners, getShortcutCombination, hasSubscriptions, isEnabled, isPrimary, isVisible, removeOwner, removePropertyChangeListener, setCaption, setDescription, setIcon, setPrimary, setShortcut, setShortcutCombination
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.jmix.ui.action.Action
addOwner, addPropertyChangeListener, getCaption, getDescription, getIcon, getId, getOwner, getOwners, getShortcutCombination, isEnabled, isVisible, refreshState, removeOwner, removePropertyChangeListener, setCaption, setDescription, setEnabled, setIcon, setShortcut, setShortcutCombination, setVisible
Methods inherited from interface io.jmix.ui.action.Action.ExecutableAction
execute
-
Field Details
-
target
-
-
Constructor Details
-
AbstractScreenAction
-
-
Method Details
-
initAction
protected void initAction() -
getTarget
- Specified by:
getTarget
in interfaceAction.ScreenAction<A extends AbstractScreenAction<A,
S>>
-
setTarget
- Specified by:
setTarget
in interfaceAction.ScreenAction<A extends AbstractScreenAction<A,
S>>
-
withTarget
-
withCaption
Set caption using fluent API method.- Overrides:
withCaption
in classBaseAction
- Parameters:
caption
- caption- Returns:
- current instance of action
-
withDescription
Set description using fluent API method.- Overrides:
withDescription
in classBaseAction
- Parameters:
description
- description- Returns:
- current instance of action
-
withEnabled
-
withVisible
-
withIcon
Set icon using fluent API method.- Overrides:
withIcon
in classBaseAction
- Parameters:
icon
- icon- Returns:
- current instance of action
-
withShortcut
Set shortcut using fluent API method.- Overrides:
withShortcut
in classBaseAction
- Parameters:
shortcut
- shortcut- Returns:
- current instance of action
-
withHandler
Set action performed event handler using fluent API method. Can be used instead of subclassing BaseAction class.- Overrides:
withHandler
in classBaseAction
- Parameters:
handler
- action performed handler- Returns:
- current instance of action
-
withPrimary
Set whether this action is primary using fluent API method. Can be used instead of subclassing BaseAction class.- Overrides:
withPrimary
in classBaseAction
- Parameters:
primary
- primary- Returns:
- current instance of action
-
withEnabledByUiPermissions
-
withVisibleByUiPermissions
-
actionPerform
Description copied from interface:Action
Invoked by owning component to execute the action.- Specified by:
actionPerform
in interfaceAction
- Overrides:
actionPerform
in classBaseAction
- Parameters:
component
- invoking component
-
isApplicable
protected boolean isApplicable()Description copied from class:BaseAction
Callback method which is invoked by the action to determine its enabled state.- Overrides:
isApplicable
in classBaseAction
- Returns:
- true if the action is enabled for the current context, e.g. there is a selected row in a table
-
checkTarget
protected void checkTarget()
-