]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/internal/jcr/RepoConf.java
[maven-release-plugin] prepare release argeo-commons-2.1.101
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / jcr / RepoConf.java
1 package org.argeo.cms.internal.jcr;
2
3 import org.argeo.api.NodeConstants;
4 import org.argeo.osgi.metatype.EnumAD;
5 import org.argeo.osgi.metatype.EnumOCD;
6
7 /** JCR repository configuration */
8 public enum RepoConf implements EnumAD {
9 /** Repository type */
10 type("h2"),
11 /** Default workspace */
12 defaultWorkspace(NodeConstants.SYS_WORKSPACE),
13 /** Database URL */
14 dburl(null),
15 /** Database user */
16 dbuser(null),
17 /** Database password */
18 dbpassword(null),
19
20 /** The identifier (can be an URL locating the repo) */
21 labeledUri(null),
22 //
23 // JACKRABBIT SPECIFIC
24 //
25 /** Maximum database pool size */
26 maxPoolSize(10),
27 /** Maximum cache size in MB */
28 maxCacheMB(null),
29 /** Bundle cache size in MB */
30 bundleCacheMB(8),
31 /** Extractor pool size */
32 extractorPoolSize(0),
33 /** Search cache size */
34 searchCacheSize(1000),
35 /** Max volatile index size */
36 maxVolatileIndexSize(1048576),
37 /** Cluster id (if appropriate configuration) */
38 clusterId("default"),
39 /** Indexes base path */
40 indexesBase(null);
41
42 /** The default value. */
43 private Object def;
44 private String oid;
45
46 RepoConf(String oid, Object def) {
47 this.oid = oid;
48 this.def = def;
49 }
50
51 RepoConf(Object def) {
52 this.def = def;
53 }
54
55 public Object getDefault() {
56 return def;
57 }
58
59 @Override
60 public String getID() {
61 if (oid != null)
62 return oid;
63 return EnumAD.super.getID();
64 }
65
66 public static class OCD extends EnumOCD<RepoConf> {
67 public OCD(String locale) {
68 super(RepoConf.class, locale);
69 }
70 }
71
72 }