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 org.chromattic.api.annotations.Create;
20 import org.chromattic.api.annotations.MappedBy;
21 import org.chromattic.api.annotations.OneToOne;
22 import org.chromattic.api.annotations.Owner;
23 import org.chromattic.api.annotations.Path;
24 import org.chromattic.api.annotations.PrimaryType;
25
26 @PrimaryType(name=WikiNodeType.WIKI_PREFERENCES)
27 public abstract class PreferencesImpl {
28
29 @OneToOne
30 @Owner
31 @MappedBy(WikiNodeType.Definition.PREFERENCES_SYNTAX)
32 protected abstract PreferencesSyntax getPreferencesSyntaxByChromattic();
33 protected abstract void setPreferencesSyntaxByChromattic(PreferencesSyntax preferencesSyntax);
34
35 @Path
36 public abstract String getPath();
37
38 @Create
39 protected abstract PreferencesSyntax createPreferencesSyntax();
40
41 public PreferencesSyntax getPreferencesSyntax()
42 {
43 PreferencesSyntax preferencesSyntax = getPreferencesSyntaxByChromattic();
44 if (preferencesSyntax == null) {
45 preferencesSyntax = createPreferencesSyntax();
46 setPreferencesSyntaxByChromattic(preferencesSyntax);
47 preferencesSyntax.setAllowMutipleSyntaxes(false);
48 }
49 return preferencesSyntax;
50 }
51
52 @OneToOne
53 @Owner
54 @MappedBy(WikiNodeType.Definition.TEMPLATE_CONTAINER)
55 protected abstract TemplateContainer getTemplateContainerByChromattic();
56
57 protected abstract void setTemplateContainerByChromattic(TemplateContainer templContainer);
58
59 @Create
60 protected abstract TemplateContainer createTemplateContainer();
61
62 public TemplateContainer getTemplateContainer() {
63 TemplateContainer templatecontainer = getTemplateContainerByChromattic();
64 if (templatecontainer == null) {
65 templatecontainer = createTemplateContainer();
66 setTemplateContainerByChromattic(templatecontainer);
67 }
68 return templatecontainer;
69 }
70
71 }