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.businessobject;
017    
018    import java.util.LinkedHashMap;
019    import java.util.List;
020    
021    import org.kuali.kfs.sys.KFSPropertyConstants;
022    import org.kuali.rice.kns.bo.Inactivateable;
023    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
024    import org.kuali.rice.kns.util.KualiInteger;
025    import org.kuali.rice.kns.util.TypedArrayList;
026    
027    /**
028     * Represents the assignment of one or more definitions to one or more members (principal, group, or role). A model becomes a role in KIM
029     */
030    public class SecurityModel extends PersistableBusinessObjectBase implements Inactivateable {
031        private KualiInteger id;
032        private String name;
033        private String description;
034        private String roleId;
035        private boolean active;
036    
037        private List<SecurityModelDefinition> modelDefinitions;
038        private List<SecurityModelMember> modelMembers;
039    
040        public SecurityModel() {
041            super();
042    
043            modelDefinitions = new TypedArrayList(SecurityModelDefinition.class);
044            modelMembers = new TypedArrayList(SecurityModelMember.class);
045        }
046    
047    
048        /**
049         * Gets the id attribute.
050         * 
051         * @return Returns the id.
052         */
053        public KualiInteger getId() {
054            return id;
055        }
056    
057    
058        /**
059         * Sets the id attribute value.
060         * 
061         * @param id The id to set.
062         */
063        public void setId(KualiInteger id) {
064            this.id = id;
065        }
066    
067    
068        /**
069         * Gets the name attribute.
070         * 
071         * @return Returns the name.
072         */
073        public String getName() {
074            return name;
075        }
076    
077    
078        /**
079         * Sets the name attribute value.
080         * 
081         * @param name The name to set.
082         */
083        public void setName(String name) {
084            this.name = name;
085        }
086    
087    
088        /**
089         * Gets the description attribute.
090         * 
091         * @return Returns the description.
092         */
093        public String getDescription() {
094            return description;
095        }
096    
097    
098        /**
099         * Sets the description attribute value.
100         * 
101         * @param description The description to set.
102         */
103        public void setDescription(String description) {
104            this.description = description;
105        }
106    
107    
108        /**
109         * Gets the roleId attribute.
110         * 
111         * @return Returns the roleId.
112         */
113        public String getRoleId() {
114            return roleId;
115        }
116    
117    
118        /**
119         * Sets the roleId attribute value.
120         * 
121         * @param roleId The roleId to set.
122         */
123        public void setRoleId(String roleId) {
124            this.roleId = roleId;
125        }
126    
127    
128        /**
129         * Gets the active attribute.
130         * 
131         * @return Returns the active.
132         */
133        public boolean isActive() {
134            return active;
135        }
136    
137    
138        /**
139         * Sets the active attribute value.
140         * 
141         * @param active The active to set.
142         */
143        public void setActive(boolean active) {
144            this.active = active;
145        }
146    
147    
148        /**
149         * Gets the modelDefinitions attribute.
150         * 
151         * @return Returns the modelDefinitions.
152         */
153        public List<SecurityModelDefinition> getModelDefinitions() {
154            return modelDefinitions;
155        }
156    
157    
158        /**
159         * Sets the modelDefinitions attribute value.
160         * 
161         * @param modelDefinitions The modelDefinitions to set.
162         */
163        public void setModelDefinitions(List<SecurityModelDefinition> modelDefinitions) {
164            this.modelDefinitions = modelDefinitions;
165        }
166    
167    
168        /**
169         * Gets the modelMembers attribute.
170         * 
171         * @return Returns the modelMembers.
172         */
173        public List<SecurityModelMember> getModelMembers() {
174            return modelMembers;
175        }
176    
177    
178        /**
179         * Sets the modelMembers attribute value.
180         * 
181         * @param modelMembers The modelMembers to set.
182         */
183        public void setModelMembers(List<SecurityModelMember> modelMembers) {
184            this.modelMembers = modelMembers;
185        }
186    
187        /**
188         * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
189         */
190        @Override
191        protected LinkedHashMap toStringMapper() {
192            LinkedHashMap m = new LinkedHashMap();
193    
194            m.put(KFSPropertyConstants.ID, this.id);
195    
196            return m;
197        }
198    
199    }