001 /*
002 * Copyright 2011 The Kuali Foundation.
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package org.kuali.kfs.sec.datadictionary;
017
018
019 import java.util.HashMap;
020 import java.util.Map;
021
022 import org.kuali.kfs.sec.service.AccessPermissionEvaluator;
023 import org.kuali.rice.kns.datadictionary.AttributeDefinition;
024
025
026 /**
027 * Holds configuration on an attribute restriction. Mapping the attribute restriction type to a business object property name
028 */
029 public class AccessSecurityAttributeRestrictionEntry {
030 protected String securityAttributeName;
031 protected AttributeDefinition attribute;
032 protected Class<? extends AccessPermissionEvaluator> accessPermissionEvaluatorClass;
033 protected Map<String, AttributeDefinition> otherKeyFields;
034
035 public AccessSecurityAttributeRestrictionEntry() {
036 otherKeyFields = new HashMap<String, AttributeDefinition>();
037 }
038
039 /**
040 * Gets the securityAttributeName attribute.
041 *
042 * @return Returns the securityAttributeName.
043 */
044 public String getSecurityAttributeName() {
045 return securityAttributeName;
046 }
047
048 /**
049 * Sets the securityAttributeName attribute value.
050 *
051 * @param securityAttributeName The securityAttributeName to set.
052 */
053 public void setSecurityAttributeName(String securityAttributeName) {
054 this.securityAttributeName = securityAttributeName;
055 }
056
057 /**
058 * Gets the attribute attribute.
059 *
060 * @return Returns the attribute.
061 */
062 public AttributeDefinition getAttribute() {
063 return attribute;
064 }
065
066 /**
067 * Sets the attribute attribute value.
068 *
069 * @param attribute The attribute to set.
070 */
071 public void setAttribute(AttributeDefinition attribute) {
072 this.attribute = attribute;
073 }
074
075 /**
076 * Gets the accessPermissionEvaluatorClass attribute.
077 *
078 * @return Returns the accessPermissionEvaluatorClass.
079 */
080 public Class<? extends AccessPermissionEvaluator> getAccessPermissionEvaluatorClass() {
081 return accessPermissionEvaluatorClass;
082 }
083
084 /**
085 * Sets the accessPermissionEvaluatorClass attribute value.
086 *
087 * @param accessPermissionEvaluatorClass The accessPermissionEvaluatorClass to set.
088 */
089 public void setAccessPermissionEvaluatorClass(Class<? extends AccessPermissionEvaluator> accessPermissionEvaluatorClass) {
090 this.accessPermissionEvaluatorClass = accessPermissionEvaluatorClass;
091 }
092
093 /**
094 * Gets the otherKeyFields attribute.
095 *
096 * @return Returns the otherKeyFields.
097 */
098 public Map<String, AttributeDefinition> getOtherKeyFields() {
099 return otherKeyFields;
100 }
101
102 /**
103 * Sets the otherKeyFields attribute value.
104 *
105 * @param otherKeyFields The otherKeyFields to set.
106 */
107 public void setOtherKeyFields(Map<String, AttributeDefinition> otherKeyFields) {
108 this.otherKeyFields = otherKeyFields;
109 }
110
111
112
113 }