1 package org.apache.archiva.redback.rbac;
2
3 import java.util.List;
4
5 /*
6 * Copyright 2001-2006 The Apache Software Foundation.
7 *
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 */
20
21 /**
22 * AbstractUserAssignment useful for common logic that implementors can use.
23 *
24 * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
25 *
26 */
27 public abstract class AbstractUserAssignment
28 implements UserAssignment
29 {
30
31 public void addRoleName( Role role )
32 {
33 addRoleName( role.getName() );
34 }
35
36 public void addRoleName( String roleName )
37 {
38 List<String> names = getRoleNames();
39 if ( !names.contains( roleName ) )
40 {
41 names.add( roleName );
42 }
43 setRoleNames( names );
44 }
45
46 public void removeRoleName( Role role )
47 {
48 removeRoleName( role.getName() );
49 }
50
51 public void removeRoleName( String roleName )
52 {
53 getRoleNames().remove( roleName );
54 }
55 }