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