]> git.argeo.org Git - gpl/argeo-suite.git/blob - org.argeo.api.app/src/org/argeo/api/app/SuiteRole.java
Prepare next development cycle
[gpl/argeo-suite.git] / org.argeo.api.app / src / org / argeo / api / app / SuiteRole.java
1 package org.argeo.api.app;
2
3 import javax.xml.namespace.QName;
4
5 import org.argeo.api.acr.ArgeoNamespace;
6 import org.argeo.api.acr.ContentName;
7 import org.argeo.api.acr.ldap.LdapAttr;
8 import org.argeo.api.cms.CmsConstants;
9 import org.argeo.api.cms.auth.SystemRole;
10
11 /** Standard suite system roles. */
12 public enum SuiteRole implements SystemRole {
13 /** An external person who has read access to part of the information. */
14 observer,
15 /** An active coworker. */
16 coworker,
17 /** Someone who is allowed validate and publish information. */
18 publisher,
19 /** Someone with manager status within an organisation. Does not necessarily give more rights. */
20 manager,
21 //
22 ;
23
24 private final static String QUALIFIER = "app.";
25
26 private final ContentName name;
27
28 SuiteRole() {
29 name = new ContentName(ArgeoNamespace.ROLE_NAMESPACE_URI, QUALIFIER + name());
30 }
31
32 @Override
33 public QName qName() {
34 return name;
35 }
36
37 @Deprecated
38 private String getRolePrefix() {
39 return "org.argeo.suite";
40 }
41
42 @Deprecated
43 public String dn() {
44 return new StringBuilder(LdapAttr.cn.name()).append("=").append(getRolePrefix()).append(".").append(name())
45 .append(",").append(CmsConstants.SYSTEM_ROLES_BASEDN).toString();
46 }
47 }