View Javadoc
1   /**
2    * Copyright 2005-2015 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.uif.field;
17  
18  import org.kuali.rice.krad.datadictionary.parse.BeanTag;
19  import org.kuali.rice.krad.datadictionary.parse.BeanTagAttribute;
20  import org.kuali.rice.krad.uif.component.ComponentSecurity;
21  
22  /**
23   * Field security adds the edit in line and view in line flags to the standard component security
24   *
25   * <p>
26   * These flags are only applicable when the field is part of a collection group. They indicate there is security
27   * on the field within the collection line
28   * </p>
29   *
30   * @author Kuali Rice Team (rice.collab@kuali.org)
31   */
32  @BeanTag(name = "fieldSecurity-bean")
33  public class FieldSecurity extends ComponentSecurity {
34  
35      private boolean editInLineAuthz;
36      private boolean viewInLineAuthz;
37  
38      public FieldSecurity() {
39          super();
40  
41          editInLineAuthz = false;
42          viewInLineAuthz = false;
43      }
44  
45      /**
46       * Indicates whether the field has edit in line authorization and KIM should be consulted
47       *
48       * @return true if the field has edit in line authorization, false if not
49       */
50      @BeanTagAttribute(name="editInLineAuthz")
51      public boolean isEditInLineAuthz() {
52          return editInLineAuthz;
53      }
54  
55      /**
56       * Setter for the edit in line authorization flag
57       *
58       * @param editInLineAuthz
59       */
60      public void setEditInLineAuthz(boolean editInLineAuthz) {
61          this.editInLineAuthz = editInLineAuthz;
62      }
63  
64      /**
65       * Indicates whether the field has view in line unmask authorization and KIM should be consulted
66       *
67       * @return true if the field has view in line unmask authorization, false if not
68       */
69      @BeanTagAttribute(name="viewInLineAuthz")
70      public boolean isViewInLineAuthz() {
71          return viewInLineAuthz;
72      }
73  
74      /**
75       * Setter for the view in line authorization flag
76       *
77       * @param viewInLineAuthz
78       */
79      public void setViewInLineAuthz(boolean viewInLineAuthz) {
80          this.viewInLineAuthz = viewInLineAuthz;
81      }
82  
83      /**
84       * @see org.kuali.rice.krad.uif.component.ComponentSecurity#copy()
85       */
86      @Override
87      protected <T> void copyProperties(T componentSecurity) {
88          super.copyProperties(componentSecurity);
89          FieldSecurity fieldSecurityCopy = (FieldSecurity) componentSecurity;
90          fieldSecurityCopy.setEditInLineAuthz(this.editInLineAuthz);
91          fieldSecurityCopy.setViewInLineAuthz(this.viewInLineAuthz);
92      }
93  }