]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/acr/directory/RoleContent.java
Remove static default UUID factory
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / acr / directory / RoleContent.java
1 package org.argeo.cms.acr.directory;
2
3 import java.util.Dictionary;
4
5 import javax.xml.namespace.QName;
6
7 import org.argeo.api.acr.Content;
8 import org.argeo.api.acr.ContentName;
9 import org.argeo.api.acr.spi.ProvidedSession;
10 import org.argeo.osgi.useradmin.UserDirectory;
11 import org.osgi.service.useradmin.Group;
12 import org.osgi.service.useradmin.Role;
13 import org.osgi.service.useradmin.User;
14
15 class RoleContent extends AbstractDirectoryContent {
16
17 private HierarchyUnitContent parent;
18 private Role role;
19
20 public RoleContent(ProvidedSession session, DirectoryContentProvider provider, HierarchyUnitContent parent,
21 Role role) {
22 super(session, provider);
23 this.parent = parent;
24 this.role = role;
25 }
26
27 @Override
28 Dictionary<String, Object> doGetProperties() {
29 return role.getProperties();
30 }
31
32 @Override
33 public QName getName() {
34 String name = ((UserDirectory) parent.getHierarchyUnit().getDirectory()).getRoleSimpleName(role);
35 return new ContentName(name);
36 }
37
38 @Override
39 public Content getParent() {
40 return parent;
41 }
42
43 @SuppressWarnings("unchecked")
44 @Override
45 public <A> A adapt(Class<A> clss) {
46 if (clss.equals(Group.class))
47 return (A) role;
48 else if (clss.equals(User.class))
49 return (A) role;
50 else if (clss.equals(Role.class))
51 return (A) role;
52 return super.adapt(clss);
53 }
54
55 }