Coverage Report - org.kuali.rice.kns.lookup.Lookupable
 
Classes in this File Line Coverage Branch Coverage Complexity
Lookupable
N/A
N/A
1
 
 1  
 /**
 2  
  * Copyright 2005-2011 The Kuali Foundation
 3  
  *
 4  
  * Licensed under the Educational Community License, Version 2.0 (the "License");
 5  
  * you may not use this file except in compliance with the License.
 6  
  * You may obtain a copy of the License at
 7  
  *
 8  
  * http://www.opensource.org/licenses/ecl2.php
 9  
  *
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  */
 16  
 package org.kuali.rice.kns.lookup;
 17  
 
 18  
 import org.kuali.rice.kns.document.authorization.BusinessObjectRestrictions;
 19  
 import org.kuali.rice.kns.web.struts.form.LookupForm;
 20  
 import org.kuali.rice.kns.web.ui.Field;
 21  
 import org.kuali.rice.kns.web.ui.ResultRow;
 22  
 import org.kuali.rice.kns.web.ui.Row;
 23  
 import org.kuali.rice.krad.bo.BusinessObject;
 24  
 
 25  
 import java.io.Serializable;
 26  
 import java.util.Collection;
 27  
 import java.util.List;
 28  
 import java.util.Map;
 29  
 
 30  
 /**
 31  
  * This class defines an interface for lookupables.
 32  
  *
 33  
  * They should act as facades for LookupableHelperServices and also expose bean handlers
 34  
  * (getCreateNewUrl, getHtmlMenuBar, getTitle, getRows, getExtraButton{Source,Params})
 35  
  *
 36  
  */
 37  
 @Deprecated
 38  
 public interface Lookupable extends Serializable {
 39  
 
 40  
     /**
 41  
      * Initializes the lookup with a businss object class
 42  
      *
 43  
      * It is required that implementations of this method will initialize the
 44  
      * search area used by the UI to provide the search form.  In particular,
 45  
      * it will ensure that getRows() will return valid results
 46  
      *
 47  
      * @param boClass
 48  
      */
 49  
     public void setBusinessObjectClass(Class businessObjectClass);
 50  
 
 51  
     /**
 52  
      *
 53  
      * @return Returns the dataObjectClass this lookupable is representing
 54  
      *
 55  
      */
 56  
     public Class getBusinessObjectClass();
 57  
 
 58  
     /**
 59  
      * Initializes the lookup with the given Map of parameters.
 60  
      *
 61  
      * @param parameters
 62  
      */
 63  
     public void setParameters(Map<String, String[]> parameters);
 64  
 
 65  
     /**
 66  
      * @return Returns the parameters passed to this lookup
 67  
      */
 68  
     public Map<String, String[]> getParameters();
 69  
 
 70  
     /**
 71  
      * @return the html to be displayed as a menu bar
 72  
      */
 73  
     public String getHtmlMenuBar();
 74  
 
 75  
     /**
 76  
      * @return the html to be displayed as a supplemental menu bar
 77  
      */
 78  
     public String getSupplementalMenuBar();
 79  
 
 80  
     /**
 81  
      * @return List of Row objects used to render the search area
 82  
      */
 83  
     public List<? extends Row> getRows();
 84  
 
 85  
     /**
 86  
      * @return String displayed as title for the lookup
 87  
      */
 88  
     public String getTitle();
 89  
 
 90  
     /**
 91  
      * @return String url for the location to return to after the lookup
 92  
      */
 93  
     public String getReturnLocation();
 94  
 
 95  
     /**
 96  
      * @return List of Column objects used to render the result table
 97  
      */
 98  
     public List getColumns();
 99  
 
 100  
     /**
 101  
      * Validates the values filled in as search criteria, also checks for required field values.
 102  
      *
 103  
      * @param fieldValues - Map of property/value pairs
 104  
      */
 105  
     public void validateSearchParameters(Map fieldValues);
 106  
 
 107  
     /**
 108  
      *
 109  
      * This method performs the lookup and returns a collection of lookup items
 110  
      * @param lookupForm
 111  
      * @param resultTable
 112  
      * @param bounded
 113  
      * @return results of lookup
 114  
      */
 115  
     public Collection performLookup(LookupForm lookupForm, List<ResultRow> resultTable, boolean bounded);
 116  
 
 117  
     /**
 118  
      * Performs a search and returns result list.
 119  
      *
 120  
      * @param fieldValues - Map of property/value pairs
 121  
      * @return List of business objects found by the search
 122  
      * @throws Exception
 123  
      */
 124  
     public List<BusinessObject> getSearchResults(Map<String, String> fieldValues);
 125  
 
 126  
     /**
 127  
      * Similar to getSearchResults, but the number of returned rows is not bounded
 128  
      *
 129  
      * @param fieldValues
 130  
      * @return
 131  
      */
 132  
     public List<BusinessObject> getSearchResultsUnbounded(Map<String, String> fieldValues);
 133  
 
 134  
     /**
 135  
      * @return String providing source for optional extra button
 136  
      */
 137  
     public String getExtraButtonSource();
 138  
 
 139  
     /**
 140  
      * @return String providing return parameters for optional extra button
 141  
      */
 142  
     public String getExtraButtonParams();
 143  
 
 144  
     /**
 145  
      * Determines if there should be more search fields rendered based on already entered search criteria.
 146  
      *
 147  
      * @param fieldValues - Map of property/value pairs
 148  
      * @return boolean
 149  
      */
 150  
     public boolean checkForAdditionalFields(Map fieldValues);
 151  
 
 152  
     /**
 153  
      * Builds the return value url.
 154  
      *
 155  
      * @param businessObject - Instance of a business object containing the return values
 156  
      * @param fieldConversions - Map of conversions mapping bo names to caller field names.
 157  
      * @param lookupImpl - Current lookup impl name
 158  
      * @return String url called when selecting a row from the result set
 159  
      */
 160  
     public HtmlData getReturnUrl(BusinessObject businessObject, Map fieldConversions, String lookupImpl, BusinessObjectRestrictions businessObjectRestrictions);
 161  
 
 162  
     /**
 163  
      * Builds the Url for a maintenance new document for the lookup business object class
 164  
      * @param businessObject
 165  
      * @return String rendered on Lookup screen for maintenance new document
 166  
      */
 167  
     public String getCreateNewUrl();
 168  
 
 169  
     /**
 170  
      * Sets the requested fields conversions in the lookupable
 171  
      *
 172  
      * @param fieldConversions
 173  
      */
 174  
     public void setFieldConversions(Map fieldConversions);
 175  
 
 176  
     /**
 177  
      * Sets the requested read only fields list in the lookupable
 178  
      *
 179  
      * @param readOnlyFieldsList
 180  
      */
 181  
     public void setReadOnlyFieldsList(List<String> readOnlyFieldsList);
 182  
 
 183  
     /**
 184  
      * Sets the helper service for instance
 185  
      * @param helper the helper service
 186  
      */
 187  
     public void setLookupableHelperService(LookupableHelperService helper);
 188  
 
 189  
     /**
 190  
      * Returns the LookupableHelperService designated to help this lookup
 191  
      * @return
 192  
      */
 193  
     public LookupableHelperService getLookupableHelperService();
 194  
 
 195  
     /**
 196  
      * Returns whether this search was performed using the values of the primary keys only
 197  
      *
 198  
      * @return
 199  
      */
 200  
     public boolean isSearchUsingOnlyPrimaryKeyValues();
 201  
 
 202  
     /**
 203  
      * Returns a comma delimited list of primary key field labels, as defined in the DD
 204  
      *
 205  
      * @return
 206  
      */
 207  
     public String getPrimaryKeyFieldLabels();
 208  
 
 209  
     /**
 210  
      * This method returns a list of the default columns used to sort the result set.  For multiple value lookups,
 211  
      * this method does not change when different columns are sorted.
 212  
      *
 213  
      * @return
 214  
      */
 215  
     public List getDefaultSortColumns();
 216  
 
 217  
     /**
 218  
      *
 219  
      * This method allows for customization of the lookup clear
 220  
      *
 221  
      */
 222  
     public void performClear(LookupForm lookupForm);
 223  
 
 224  
     /**
 225  
      *
 226  
      * This method checks whether the header non maint actions should be shown
 227  
      *
 228  
      */
 229  
     public boolean shouldDisplayHeaderNonMaintActions();
 230  
 
 231  
     /**
 232  
      *
 233  
      * This method checks whether the criteria should be shown
 234  
      *
 235  
      */
 236  
     public boolean shouldDisplayLookupCriteria();
 237  
 
 238  
     /**
 239  
      *
 240  
      * This method is called from a custom action button or script
 241  
      *
 242  
      */
 243  
     public boolean performCustomAction(boolean ignoreErrors);
 244  
 
 245  
     /**
 246  
      *
 247  
      * get extra field
 248  
      *
 249  
      * @return
 250  
      */
 251  
     public Field getExtraField();
 252  
 
 253  
     /**
 254  
      * method returns the extraOnLoad variable. The 
 255  
          * varible is currently accessed in page.tag and is called in the onLoad.
 256  
          * it allows us to inject javascript onload.
 257  
          */
 258  
     public String getExtraOnLoad();
 259  
     
 260  
     public void setExtraOnLoad(String extraOnLoad);
 261  
     public void applyFieldAuthorizationsFromNestedLookups(Field field);
 262  
     
 263  
     /**
 264  
      * Performs conditional logic (based on current search values or other parameters) to
 265  
      * override field hidden, read-only, and required attributes previously set.
 266  
      */
 267  
     public void applyConditionalLogicForFieldDisplay();
 268  
 }