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}