1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.exoplatform.wiki.mow.core.api.wiki;
18
19 import java.util.ArrayList;
20 import java.util.List;
21
22 import org.chromattic.api.RelationshipType;
23 import org.chromattic.api.annotations.MixinType;
24 import org.chromattic.api.annotations.OneToOne;
25 import org.chromattic.api.annotations.Property;
26
27 @MixinType(name = WikiNodeType.WIKI_WATCHED)
28 public abstract class WatchedMixin {
29
30 @OneToOne(type = RelationshipType.EMBEDDED)
31 public abstract PageImpl getEntity();
32 public abstract void setEntity(PageImpl page);
33
34 @Property(name = WikiNodeType.Definition.WATCHER)
35 public abstract List<String> getWatchersByChromattic();
36 public abstract void setWatchersByChromattic( List<String> watchers);
37
38 public List<String> getWatchers() {
39 List<String> watchers = getWatchersByChromattic();
40 return (watchers != null) ? watchers : new ArrayList<String>();
41 }
42
43 public void setWatchers(List<String> watchers) {
44 setWatchersByChromattic(watchers);
45 }
46
47 }