1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.cms.beans.config;
35
36 import info.magnolia.jcr.node2bean.Node2BeanException;
37 import info.magnolia.jcr.node2bean.Node2BeanProcessor;
38 import info.magnolia.jcr.node2bean.TransformationState;
39 import info.magnolia.jcr.node2bean.impl.Node2BeanTransformerImpl;
40 import info.magnolia.objectfactory.ComponentProvider;
41 import info.magnolia.objectfactory.Components;
42 import info.magnolia.objectfactory.ObservedComponentFactory;
43 import info.magnolia.repository.RepositoryConstants;
44
45 import java.util.Map;
46
47 import javax.inject.Singleton;
48 import javax.jcr.Node;
49 import javax.jcr.RepositoryException;
50
51
52
53
54 @Singleton
55 public class ServerConfiguration {
56 private String defaultExtension;
57 private String defaultBaseUrl;
58 private boolean admin;
59
60 public String getDefaultExtension() {
61 return defaultExtension;
62 }
63
64 public void setDefaultExtension(String defaultExtension) {
65 this.defaultExtension = defaultExtension;
66 }
67
68 public String getDefaultBaseUrl() {
69 return defaultBaseUrl;
70 }
71
72 public void setDefaultBaseUrl(String defaultBaseUrl) {
73 this.defaultBaseUrl = defaultBaseUrl;
74 }
75
76 public boolean isAdmin() {
77 return admin;
78 }
79
80 public void setAdmin(boolean admin) {
81 this.admin = admin;
82 }
83
84
85
86
87 @Deprecated
88 public static ServerConfiguration getInstance() {
89 return Components.getSingleton(ServerConfiguration.class);
90 }
91
92
93
94
95 public static final class InstanceFactory extends ObservedComponentFactory<ServerConfiguration> {
96 public InstanceFactory() {
97 super(RepositoryConstants.CONFIG, "/server", ServerConfiguration.class);
98 }
99
100
101 @Override
102 protected ServerConfiguration transformNode(Node node) throws Node2BeanException, RepositoryException {
103 return (ServerConfiguration) Components.getComponent(Node2BeanProcessor.class).toBean(node, false, new Node2BeanTransformerImpl() {
104 @Override
105 public Object newBeanInstance(TransformationState state, Map properties, ComponentProvider componentProvider) {
106 return new ServerConfiguration();
107 }
108 }, Components.getComponentProvider());
109 }
110 }
111 }