]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org/argeo/security/UserNature.java
2 * Copyright (C) 2010 Mathieu Baudier <mbaudier@argeo.org>
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org
.argeo
.security
;
19 import java
.io
.Serializable
;
20 import java
.util
.List
;
23 import org
.argeo
.ArgeoException
;
25 public class UserNature
implements Serializable
{
26 private static final long serialVersionUID
= 1L;
30 public String
getType() {
34 return getClass().getName();
37 public void setType(String type
) {
41 public final static void updateUserNaturesWithCheck(
42 Map
<String
, UserNature
> userNatures
,
43 Map
<String
, UserNature
> userNaturesData
) {
44 if (userNatures
.size() != userNaturesData
.size())
45 throw new ArgeoException(
46 "It is forbidden to add or remove user natures via this method");
47 for (int i
= 0; i
< userNatures
.size(); i
++) {
48 String type
= userNatures
.get(i
).getType();
49 boolean found
= false;
50 for (int j
= 0; j
< userNatures
.size(); j
++) {
51 String newType
= userNaturesData
.get(j
).getType();
52 if (type
.equals(newType
))
56 throw new ArgeoException(
57 "Could not find a user nature of type " + type
);
60 for (String key
: userNatures
.keySet()) {
61 userNatures
.put(key
, userNaturesData
.get(key
));