fix #7862 full documentation on TaxonGraphHibernateListener, TaxonGraphBeforeTransact...
[cdmlib.git] / cdmlib-persistence / src / main / java / eu / etaxonomy / cdm / persistence / hibernate / HibernateConfiguration.java
1 /**
2 * Copyright (C) 2017 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.cdm.persistence.hibernate;
10
11 import java.io.Serializable;
12
13 import org.hibernate.cache.internal.NoCachingRegionFactory;
14 import org.hibernate.cache.spi.RegionFactory;
15 import org.hibernate.envers.boot.internal.EnversIntegrator;
16
17 /**
18 * @author a.mueller
19 * @since 03.08.2017
20 *
21 */
22 public class HibernateConfiguration implements Serializable{
23
24 private static final long serialVersionUID = -894395918847594447L;
25
26 public final static String SHOW_SQL = "hibernate.show_sql";
27
28 public final static String FORMAT_SQL = "hibernate.format_sql";
29
30 public final static String REGISTER_SEARCH = "hibernate.search.autoregister_listeners";
31
32 public final static String REGISTER_ENVERS = EnversIntegrator.AUTO_REGISTER;
33
34 public final static String CACHE_PROVIDER_CLASS = "hibernate.cache.region.factory_class";
35
36
37 public static final boolean SHOW_SQL_DEFAULT = false;
38 public static final boolean FORMAT_SQL_DEFAULT = false;
39 public static final boolean REGISTER_SEARCH_DEFAULT = false;
40 public static final boolean REGISTER_ENVERS_DEFAULT = true;
41
42 public static final Class<? extends RegionFactory> CACHE_PROVIDER_DEFAULT = NoCachingRegionFactory.class;
43
44 /**
45 * @return
46 */
47 public static HibernateConfiguration NewDefaultInstance() {
48 HibernateConfiguration result = NewInstance(SHOW_SQL_DEFAULT, FORMAT_SQL_DEFAULT,
49 REGISTER_SEARCH_DEFAULT, REGISTER_ENVERS_DEFAULT, CACHE_PROVIDER_DEFAULT);
50 return result;
51 }
52
53 public static HibernateConfiguration NewInstance(Boolean showSql, Boolean formatSql,
54 Boolean registerSearch, Boolean registerEnvers,
55 Class<? extends RegionFactory> cacheProviderClass) {
56 HibernateConfiguration result = new HibernateConfiguration();
57 result.setShowSql(showSql);
58 result.setFormatSql(formatSql);
59 result.setRegisterSearch(registerSearch);
60 result.setRegisterEnvers(registerEnvers);
61 result.setCacheProviderClass(cacheProviderClass);
62 return result;
63 }
64
65
66 private Boolean showSql = null;
67
68 private Boolean formatSql = null;
69
70 private Boolean registerSearch = null;
71
72 private Boolean registerEnvers = null;
73
74 private Class<? extends RegionFactory> cacheProviderClass = null;
75
76 // *********** GETTERS /SETTERS ****************************/
77
78 public Boolean getShowSql() {
79 return showSql;
80 }
81 public boolean getShowSql(boolean defaultValue) {
82 return showSql != null ? showSql : defaultValue;
83 }
84 public void setShowSql(Boolean showSql) {
85 this.showSql = showSql;
86 }
87
88 public Boolean getFormatSql() {
89 return formatSql;
90 }
91 public boolean getFormatSql(boolean defaultValue) {
92 return formatSql != null ? formatSql : defaultValue;
93 }
94 public void setFormatSql(Boolean formatSql) {
95 this.formatSql = formatSql;
96 }
97
98 public Boolean getRegisterSearch() {
99 return registerSearch;
100 }
101 public boolean getRegisterSearch(boolean defaultValue) {
102 return registerSearch != null ? registerSearch : defaultValue;
103 }
104 public void setRegisterSearch(Boolean registerSearch) {
105 this.registerSearch = registerSearch;
106 }
107
108 public Boolean getRegisterEnvers() {
109 return registerEnvers;
110 }
111 public boolean getRegisterEnvers(boolean defaultValue) {
112 return registerEnvers != null ? registerEnvers : defaultValue;
113 }
114 public void setRegisterEnvers(Boolean registerEnvers) {
115 this.registerEnvers = registerEnvers;
116 }
117
118 public Class<? extends RegionFactory> getCacheProviderClass() {
119 return cacheProviderClass;
120 }
121 public Class<? extends RegionFactory> getCacheProviderClass(Class<? extends RegionFactory> defaultValue) {
122 return cacheProviderClass != null ? cacheProviderClass : defaultValue;
123 }
124 public void setCacheProviderClass(Class<? extends RegionFactory> cacheProviderClass) {
125 this.cacheProviderClass = cacheProviderClass;
126 }
127
128 // ******************** toString *******************************/
129 @Override
130 public String toString() {
131 return "HibernateConfiguration [showSql=" + showSql + ", formatSql=" + formatSql + ", registerSearch="
132 + registerSearch + ", registerEnvers=" + registerEnvers + ", cacheProviderClass=" + cacheProviderClass
133 + "]";
134 }
135
136
137 }