Class AbstractFindListActionSupport<M extends Serializable,T extends Serializable,F extends AbstractForm>

java.lang.Object
org.apache.struts2.ActionSupport
com.opensymphony.xwork2.ActionSupport
All Implemented Interfaces:
com.opensymphony.xwork2.Action, com.opensymphony.xwork2.interceptor.ValidationAware, com.opensymphony.xwork2.LocaleProvider, com.opensymphony.xwork2.ModelDriven<F>, com.opensymphony.xwork2.TextProvider, com.opensymphony.xwork2.Validateable, Serializable, BrowserTabAware, BrowserTabAware2, FormDriven<F>, org.apache.struts2.action.Action, org.apache.struts2.action.ServletRequestAware, org.apache.struts2.interceptor.ValidationAware, org.apache.struts2.ModelDriven<F>, org.apache.struts2.Validateable

public abstract class AbstractFindListActionSupport<M extends Serializable,T extends Serializable,F extends AbstractForm> extends AbstractFormDrivenActionSupport<F>

Template class for creating Command objects that load a list cache in the AbstractCompositeCache.

Concrete subclasses must implement various template functions:-

getFindCommand(M)
Returns a Command object used to load list cache, which can be initialized with an input form received by this Struts action.
getFindListConfig()
Returns miscellaneous config, such as whether no records found means an input form rejection.
getListCache()
Returns list cache that stores the retrieved Value Objects.
getMasterListCache()
If the list cache is a slave list, returns master list cache that controls it, otherwise returns null.
M
Record type of master list cache if loading a slave list or Object otherwise.
T
Record type of list cache.
F
Struts ActionForm that provides any search form fields or ActionForm if no form is used.
See Also:
  • Constructor Details

    • AbstractFindListActionSupport

      public AbstractFindListActionSupport()
  • Method Details

    • getFindCommand

      protected abstract AbstractFindListActionSupport.FindListResponse<M,T> getFindCommand(M selectedMaster) throws Exception
      Overridden by subclasses to return Command object for retrieving list (configured with any search parameters) and forwarding in the case of success.
      Parameters:
      selectedMaster - Selected record of master list or null if loading master list.
      Throws:
      Exception
    • getFindListConfig

      protected abstract AbstractFindListActionSupport.FindListConfig getFindListConfig()
      Written by subclasses to configure behaviour of find action.
    • getItemSorter

      protected ListCacheRecordComparator<T> getItemSorter()
      Written by subclasses to return item comparator for sorting list after finding it, or null for no post-find sorting.
    • getListCache

      protected abstract ListCache<M,?,T> getListCache()
      Written by subclasses to return list cache that is being populated.
    • getMasterListCache

      protected abstract ListCache<?,?,M> getMasterListCache()
      Written by subclasses to return master list cache or null if the list cache is the master list.
    • translateFinderException

      protected String translateFinderException(ListFinder<M,T> finderCommand, Exception e)
      May be overridden by subclasses to translate an exception thrown by a list finder Command into a Struts message key, so a message is displayed to the user. May return null to default to a generic error message key.
      Parameters:
      finderCommand - List finder Command.
      e - Exception thrown by ListFinder.getList(M) function.
    • execute

      public String execute() throws Exception
      Specified by:
      execute in interface org.apache.struts2.action.Action
      Overrides:
      execute in class org.apache.struts2.ActionSupport
      Throws:
      Exception