1 /** 2 * Copyright 2005-2014 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.krad.web.service; 17 18 import org.kuali.rice.krad.web.form.UifFormBase; 19 import org.springframework.web.servlet.ModelAndView; 20 21 /** 22 * Controller service that provides methods for working with collection groups. 23 * 24 * @author Kuali Rice Team (rice.collab@kuali.org) 25 */ 26 public interface CollectionControllerService { 27 28 /** 29 * Invoked by the add line action to add the add line instance to the model collection. 30 * 31 * @param form form instance containing the model data 32 * @return ModelAndView instance for rendering the view 33 */ 34 ModelAndView addLine(UifFormBase form); 35 36 /** 37 * Invoked by the add blank line action to add a new line instance to the model mollection. 38 * 39 * @param form form instance containing the model data 40 * @return ModelAndView instance for rendering the view 41 */ 42 ModelAndView addBlankLine(UifFormBase form); 43 44 /** 45 * Invoked by the edit line action to edit the edit line instance to the model collection. 46 * 47 * @param form form instance containing the model data 48 * @return ModelAndView instance for rendering the view 49 */ 50 ModelAndView editLine(UifFormBase form); 51 52 /** 53 * Invoked by the save line action to save an item within the model collection. 54 * 55 * @param form form instance containing the model data 56 * @return ModelAndView instance for rendering the view 57 */ 58 ModelAndView saveLine(UifFormBase form); 59 60 /** 61 * Invoked by the delete line action to delete an item within the model collection. 62 * 63 * @param form form instance containing the model data 64 * @return ModelAndView instance for rendering the view 65 */ 66 ModelAndView deleteLine(UifFormBase form); 67 68 /** 69 * Invoked by the table paging widget to retrieve a page for a collection group. 70 * 71 * @param form form instance containing the model data 72 * @return ModelAndView instance for rendering the view 73 */ 74 ModelAndView retrieveCollectionPage(UifFormBase form); 75 76 /** 77 * Get method for getting aaData for jquery datatables which are using sAjaxSource option. 78 * 79 * <p>This will render the aaData JSON for the displayed page of the table matching the tableId passed in the 80 * request parameters.</p> 81 * 82 * @param form form instance containing the model data 83 * @return ModelAndView instance for rendering the view 84 */ 85 ModelAndView tableJsonRetrieval(UifFormBase form); 86 }