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