Mercurial > hg > AnnotationManagerN4J
annotate src/main/java/de/mpiwg/itgroup/annotations/Actor.java @ 14:629e15b345aa
permissions mostly work. need more server-side checking.
author | casties |
---|---|
date | Fri, 13 Jul 2012 20:41:02 +0200 |
parents | abe25edf2178 |
children | 58357a4b86de |
rev | line source |
---|---|
9 | 1 /** |
2 * | |
3 */ | |
4 package de.mpiwg.itgroup.annotations; | |
5 | |
10 | 6 import de.mpiwg.itgroup.annotations.old.NS; |
7 | |
9 | 8 /** |
9 * @author casties | |
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
10 * |
9 | 11 */ |
10 | 12 public abstract class Actor { |
9 | 13 |
14 public String uri; | |
15 public String name; | |
10 | 16 public String id; |
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
17 |
9 | 18 /** |
10 | 19 * @return if this Actor is a Group |
9 | 20 */ |
10 | 21 public abstract boolean isGroup(); |
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
22 |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
23 /** |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
24 * Returns if this Actor is equivalent to an Actor with this id. If this is |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
25 * a Group returns true when the Person is in the Group. |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
26 * |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
27 * @param userId |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
28 * @return |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
29 */ |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
30 public boolean isEquivalentWith(String userId) { |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
31 if (userId == null) return false; |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
32 if (userId.equals(getIdString())) { |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
33 return true; |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
34 } |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
35 if (isGroup()) { |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
36 // TODO: check if person in group |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
37 } |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
38 return false; |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
39 } |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
40 |
9 | 41 /** |
42 * @return the uri | |
43 */ | |
44 public String getUri() { | |
45 return uri; | |
46 } | |
13 | 47 |
48 /** | |
49 * Returns the uri (uses id if empty). | |
50 * | |
51 * @return the uri | |
52 */ | |
53 public String getUriString() { | |
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
54 if (uri == null) { |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
55 return getUriFromId(id, isGroup()); |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
56 } |
13 | 57 return uri; |
58 } | |
59 | |
9 | 60 /** |
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
61 * @param uri |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
62 * the uri to set |
9 | 63 */ |
64 public void setUri(String uri) { | |
65 this.uri = uri; | |
66 } | |
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
67 |
9 | 68 /** |
69 * @return the name | |
70 */ | |
71 public String getName() { | |
72 return name; | |
73 } | |
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
74 |
9 | 75 /** |
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
76 * @param name |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
77 * the name to set |
9 | 78 */ |
79 public void setName(String name) { | |
80 this.name = name; | |
81 } | |
10 | 82 |
83 /** | |
84 * @return the id | |
85 */ | |
86 public String getId() { | |
87 return id; | |
88 } | |
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
89 |
10 | 90 /** |
91 * Returns id as a String starting with "group:" for groups. | |
92 * | |
93 * @return | |
94 */ | |
95 public abstract String getIdString(); | |
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
96 |
10 | 97 /** |
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
98 * @param id |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
99 * the id to set |
10 | 100 */ |
101 public void setId(String id) { | |
102 this.id = id; | |
103 } | |
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
104 |
10 | 105 /** |
106 * Returns a short id from an uri. | |
107 * | |
108 * @param uri | |
109 * @return | |
110 */ | |
111 public static String getIdFromUri(String uri, boolean isGroup) { | |
112 String id = null; | |
113 String prefix = NS.MPIWG_PERSONS_URL; | |
114 if (isGroup) { | |
115 prefix = NS.MPIWG_GROUPS_URL; | |
116 } | |
117 if (uri != null && uri.startsWith(prefix)) { | |
118 id = uri.replace(prefix, ""); | |
119 } | |
120 return id; | |
121 } | |
122 | |
123 /** | |
124 * Returns an uri from a short id. | |
125 * | |
126 * @param id | |
127 * @return | |
128 */ | |
129 public static String getUriFromId(String id, boolean isGroup) { | |
130 String uri = null; | |
131 String prefix = NS.MPIWG_PERSONS_URL; | |
132 if (isGroup) { | |
133 prefix = NS.MPIWG_GROUPS_URL; | |
134 } | |
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
135 if (id != null && !id.startsWith("http://")) { |
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
136 uri = prefix + id; |
10 | 137 } |
138 return uri; | |
139 } | |
140 | |
9 | 141 } |