1 /** 2 * Copyright 2005-2016 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.kew.framework.document.search; 17 18 import org.kuali.rice.kew.api.document.search.DocumentSearchCriteria; 19 import org.kuali.rice.kew.api.document.search.DocumentSearchResult; 20 21 import java.util.List; 22 23 /** 24 * An abstract implementation of a {@link DocumentSearchCustomizer} which classes can extend from and override the 25 * individual methods that they require in order to perform desired customization. All of the base method 26 * implementations in this class perform the default operation of doing no customization. 27 * 28 * @author Kuali Rice Team (rice.collab@kuali.org) 29 */ 30 public abstract class DocumentSearchCustomizerBase implements DocumentSearchCustomizer { 31 32 /** 33 * Always returns a null reference which instructs the document search framework that the criteria was not 34 * customized. 35 * 36 * @param documentSearchCriteria the criteria on which to perform customization 37 * @return a null reference indicating that no customization was performed 38 */ 39 @Override 40 public DocumentSearchCriteria customizeCriteria(DocumentSearchCriteria documentSearchCriteria) { 41 return null; 42 } 43 44 /** 45 * Always returns a null reference which instructs the document search framework that custom criteria clearing was not 46 * performed. 47 * 48 * @param documentSearchCriteria the criteria on which to perform a customized clear 49 * @return a null reference indicating that no customization was performed 50 */ 51 @Override 52 public DocumentSearchCriteria customizeClearCriteria(DocumentSearchCriteria documentSearchCriteria) { 53 return null; 54 } 55 56 /** 57 * Always returns a null reference which instructs the document search framework that the customization of results 58 * was not performed. 59 * 60 * @param documentSearchCriteria the search criteria 61 * @param defaultResults the results obtained when executing the search 62 * @return a null reference indicating that no customization was performed 63 */ 64 @Override 65 public DocumentSearchResultValues customizeResults(DocumentSearchCriteria documentSearchCriteria, 66 List<DocumentSearchResult> defaultResults) { 67 return null; 68 } 69 70 /** 71 * Always returns a null reference which instructs the document search framework that the customization of result 72 * set fields was not performed. 73 * 74 * @param documentSearchCriteria the search criteria 75 * @return a null reference indicating that no customization was performed 76 */ 77 @Override 78 public DocumentSearchResultSetConfiguration customizeResultSetConfiguration( 79 DocumentSearchCriteria documentSearchCriteria) { 80 return null; 81 } 82 83 /** 84 * Always returns false indicating that criteria customization is disabled and should not be performed. 85 * 86 * @param documentTypeName the name of the document type under consideration 87 * @return false to indicate that no customization should be performed 88 */ 89 @Override 90 public boolean isCustomizeCriteriaEnabled(String documentTypeName) { 91 return false; 92 } 93 94 /** 95 * Always returns false indicating that criteria clearing customization is disabled and should not be performed. 96 * 97 * @param documentTypeName the name of the document type under consideration 98 * @return false to indicate that no customization should be performed 99 */ 100 @Override 101 public boolean isCustomizeClearCriteriaEnabled(String documentTypeName) { 102 return false; 103 } 104 105 /** 106 * Always returns false indicating that results customization is disabled and should not be performed. 107 * 108 * @param documentTypeName the name of the document type under consideration 109 * @return false to indicate that no customization should be performed 110 */ 111 @Override 112 public boolean isCustomizeResultsEnabled(String documentTypeName) { 113 return false; 114 } 115 116 /** 117 * Always returns false indicating that result set field customization is disabled and should not be performed. 118 * 119 * @param documentTypeName the name of the document type under consideration 120 * @return false to indicate that no customization should be performed 121 */ 122 @Override 123 public boolean isCustomizeResultSetFieldsEnabled(String documentTypeName) { 124 return false; 125 } 126 127 }