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.bind; 17 18 import org.springframework.web.bind.annotation.RequestMethod; 19 20 import java.lang.annotation.Documented; 21 import java.lang.annotation.ElementType; 22 import java.lang.annotation.Retention; 23 import java.lang.annotation.RetentionPolicy; 24 import java.lang.annotation.Target; 25 26 /** 27 * Annotation for binding to indicate a property is accessible (allows updates). 28 * 29 * @author Kuali Rice Team (rice.collab@kuali.org) 30 */ 31 @Target(ElementType.FIELD) 32 @Retention(RetentionPolicy.RUNTIME) 33 @Documented 34 public @interface RequestAccessible { 35 36 /** 37 * HTTP methods that annotation should apply to. 38 * 39 * <p>For example you might want to allow updates for GET only. For other 40 * request methods, the default view security level will be used (unless the RequestProtected 41 * annotation is also present)</p> 42 */ 43 RequestMethod[] method() default {}; 44 45 /** 46 * List of method names on the controller class that the binding should occur for. 47 * 48 * <p>For example you might want to restrict binding for only certain methodToCall(s). For other 49 * methodToCalls not in the list, no binding will occur.</p> 50 */ 51 String[] methodToCalls() default {}; 52 }