001/* 002 * Copyright 2009 The Kuali Foundation. 003 * 004 * Licensed under the Educational Community License, Version 1.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/ecl1.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 */ 016package org.kuali.ole.sec.datadictionary; 017 018 019import java.util.HashMap; 020import java.util.Map; 021 022import org.kuali.ole.sec.service.AccessPermissionEvaluator; 023import org.kuali.rice.krad.datadictionary.AttributeDefinition; 024 025 026/** 027 * Holds configuration on an attribute restriction. Mapping the attribute restriction type to a business object property name 028 */ 029public 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}