View Javadoc

1   package com.sri.emo.wizard;
2   
3   import com.sri.common.dbobj.ObjectNotFoundException;
4   import com.sri.common.dbobj.RepositoryException;
5   import com.sri.emo.dbobj.WizDefinition;
6   
7   import java.util.ArrayList;
8   import java.util.List;
9   
10  /***
11   * Repository Interface for wizard definitions.  Like all repository
12   * definitions, this interface helps us to isolate database access from the
13   * rest of the program assisting testing and componentization.
14   *
15   * @author Michael Rimov
16   * @version 1.0
17   */
18  public interface WizDefinitionRepository {
19  
20      /***
21       * Constant to specify that no sort order is specified when listing
22       * Wizards.
23       */
24      static final String DEFAULT_SORT_ORDER = null;
25  
26      /***
27       * <tt>Special Case</tt> constant in case there are no wizards defined.
28       */
29      static final List NO_RESULTS = new ArrayList(0);
30  
31      /***
32       * Find a wizard definition by id.
33       *
34       * @param key int the wizard id.
35       * @return WizDefinition
36       * @throws NonHandleableException    on underlying database error.
37       * @throws DBRecordNotFoundException if the key doesn't list anything.
38       */
39      WizDefinition findById(int key) throws ObjectNotFoundException, RepositoryException;
40  
41  
42      /***
43       * List all wizards available on the system
44       *
45       * @param sortOrder String the field to sort by or DEFAULT_SORT_ORDER
46       *                  if no specific order is desired.
47       * @return A list of wizard definitions. (NO_RESULTS if nothing is found)
48       * @throws NonHandleableException upon underlying query error.
49       */
50      List listAll(String sortOrder) throws RepositoryException;
51  
52  
53      /***
54       * Returns true if the current requester can add.
55       *
56       * @return boolean true.
57       * @throws NonHandleableException
58       */
59      boolean canRequesterAdd() throws RepositoryException;
60  
61  
62  }