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    }