info.magnolia.ui.framework.action
Class AbstractMultiItemAction<D extends info.magnolia.ui.api.action.ActionDefinition>

java.lang.Object
  extended by info.magnolia.ui.api.action.AbstractAction<D>
      extended by info.magnolia.ui.framework.action.AbstractMultiItemAction<D>
Type Parameters:
D - the action definition type
All Implemented Interfaces:
info.magnolia.ui.api.action.Action
Direct Known Subclasses:
AbstractCommandAction, DeleteItemAction

public abstract class AbstractMultiItemAction<D extends info.magnolia.ui.api.action.ActionDefinition>
extends info.magnolia.ui.api.action.AbstractAction<D>

Abstract multi-item Action that defines the default behavior.


Constructor Summary
protected AbstractMultiItemAction(D definition, info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter item, info.magnolia.ui.api.context.UiContext uiContext)
           
protected AbstractMultiItemAction(D definition, List<info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter> items, info.magnolia.ui.api.context.UiContext uiContext)
           
 
Method Summary
 void execute()
           
protected abstract  void executeOnItem(info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter item)
          Executes the action on ONE item.
protected  info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter getCurrentItem()
          Returns the item that is currently being processed - i.e.
protected  String getErrorNotification()
           
protected  Map<info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter,Exception> getFailedItems()
           
protected abstract  String getFailureMessage()
          Returns the message to display, if the execution fails on at least ONE item.
protected  Comparator<info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter> getItemComparator()
          Create a Comparator used to sort JcrItemAdapter.
protected  List<info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter> getItems()
           
protected  List<info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter> getSortedItems(Comparator<info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter> comparator)
           
protected abstract  String getSuccessMessage()
          Returns the message to display, if the execution succeeds on ALL items.
protected  info.magnolia.ui.api.context.UiContext getUiContext()
           
protected  void setCurrentItem(info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter item)
          This method should be used only in tests (when the test does not call the execute() method but e.g. only the AbstractCommandAction.onPreExecute() so the current item hasn't been set.
 
Methods inherited from class info.magnolia.ui.api.action.AbstractAction
getDefinition
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractMultiItemAction

protected AbstractMultiItemAction(D definition,
                                  info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter item,
                                  info.magnolia.ui.api.context.UiContext uiContext)

AbstractMultiItemAction

protected AbstractMultiItemAction(D definition,
                                  List<info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter> items,
                                  info.magnolia.ui.api.context.UiContext uiContext)
Method Detail

executeOnItem

protected abstract void executeOnItem(info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter item)
                               throws Exception
Executes the action on ONE item.

Throws:
Exception

getSuccessMessage

protected abstract String getSuccessMessage()
Returns the message to display, if the execution succeeds on ALL items. May return null, if the implementing action handles the user notification on its own.


getFailureMessage

protected abstract String getFailureMessage()
Returns the message to display, if the execution fails on at least ONE item. May return null, if the implementing action handles the user notification on its own.


execute

public void execute()
             throws info.magnolia.ui.api.action.ActionExecutionException
Throws:
info.magnolia.ui.api.action.ActionExecutionException

getErrorNotification

protected String getErrorNotification()

getItems

protected List<info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter> getItems()

getSortedItems

protected List<info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter> getSortedItems(Comparator<info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter> comparator)
Returns:
the sorted Items list based on the desired Comparator.

getUiContext

protected info.magnolia.ui.api.context.UiContext getUiContext()

getFailedItems

protected Map<info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter,Exception> getFailedItems()

getCurrentItem

protected info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter getCurrentItem()
Returns the item that is currently being processed - i.e. null if the execute() method is not running.


setCurrentItem

protected void setCurrentItem(info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter item)
This method should be used only in tests (when the test does not call the execute() method but e.g. only the AbstractCommandAction.onPreExecute() so the current item hasn't been set.


getItemComparator

protected Comparator<info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter> getItemComparator()
Create a Comparator used to sort JcrItemAdapter. First element of the list are child items: - /a/b.property - /a/b - /a - /



Copyright © 2014 Magnolia International Ltd.. All Rights Reserved.