01: /*
02: * Copyright 2005-2006 The Kuali Foundation.
03: *
04: *
05: * Licensed under the Educational Community License, Version 1.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * http://www.opensource.org/licenses/ecl1.php
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package edu.iu.uis.eden.plugin.attributes;
18:
19: import java.util.List;
20: import java.util.Map;
21:
22: import javax.servlet.http.HttpServletRequest;
23:
24: /**
25: * Interface for all lookupables to implement. A WorkflowLookupable is used to
26: * provide and render a search screen within the GUI of the KEW application.
27: *
28: * <p>TODO: It is important that when these are created that a new instance of the
29: * lookupable be created for each search. This is because (currently) the
30: * rows of the lookupables are stateful and need to maintain search criteria
31: * state for each search. For this reason also, the rows cannot be created and
32: * stored statically on this class. Instead, the Rows need to get created in the
33: * constructor of the lookupable. The columns, however, can be created once and
34: * stored in a static List on this class. This is really unfortunate and I hope
35: * we can address this in the Rice framework and it's lookupable implementation
36: * when it is complete.
37: *
38: * @author rkirkend
39: */
40: public interface WorkflowLookupable {
41:
42: public String getHtmlMenuBar();
43:
44: public List getRows();
45:
46: public String getTitle();
47:
48: public String getReturnLocation();
49:
50: public List getColumns();
51:
52: public List getSearchResults(Map fieldValues, Map fieldConversions)
53: throws Exception;
54:
55: public String getNoReturnParams(Map fieldConversions);
56:
57: public String getLookupInstructions();
58:
59: public List getDefaultReturnType();
60:
61: public boolean checkForAdditionalFields(Map fieldValues,
62: HttpServletRequest request) throws Exception;
63:
64: public void changeIdToName(Map fieldValues) throws Exception;
65: }
|