![JAR search and dependency download from the Maven repository](/logo.png)
org.devocative.demeter.DemeterConfigKey Maven / Gradle / Ivy
The newest version!
package org.devocative.demeter;
import org.devocative.adroit.IConfigKey;
import java.util.Arrays;
import java.util.List;
import java.util.TimeZone;
public enum DemeterConfigKey implements IConfigKey {
Modules("dmt.modules"),
DeploymentMode("dmt.deployment.enabled", true, Arrays.asList(true, false)),
DatabaseDiffHandler("dmt.db.diff.handler", "script", Arrays.asList("script", "auto", "hbm2ddl", "none")),
DatabaseType("dmt.db.type"),
DatabaseCheckTimeoutEnabled("dmt.db.check.timeout.enabled", true, Arrays.asList(true, false)),
DatabaseCheckTimeoutDur("dmt.db.check.timeout.dur", 15),
DatabaseCheckTimeoutMin("dmt.db.check.timeout.min", 5),
DatabaseCheckTimeoutMax("dmt.db.check.timeout.max", 10),
DatabaseCheckTimeoutList("dmt.db.check.timeout.list", 10),
DatabaseCheckTimeoutAlive("dmt.db.check.timeout.alive", 10), //minutes
EnabledSecurity("dmt.security.enabled", true, Arrays.asList(true, false)),
//SecurityRealm(true, "dmt.security.realm"),
SecurityKeyStoreEnabled("dmt.security.ks.enabled", true, Arrays.asList(true, false)),
SecurityKeyStoreToken("dmt.security.ks.token", "DEMETER_TOKEN"),
SecurityKeyStoreParam("dmt.security.ks.param", "DEMETER_PARAM"),
SecurityKeyStoreEntry("dmt.security.ks.entry", "Demeter"),
//AuthenticationMode("dmt.security.auth.mode", (Object) Collections.emptyList()),
//HttpAuthenticationMode("dmt.security.http.mode", "basic", Arrays.asList("basic", "digest")),
HttpPort("dmt.security.http.port", 8080),
HttpsEnabled("dmt.security.https.enabled", false, Arrays.asList(true, false)),
HttpsPort("dmt.security.https.port", 8443),
UserAutoRegister("dmt.security.register.auto", false, Arrays.asList(true, false)),
LoginCaptchaEnabled("dmt.security.login.captcha.enabled", true, Arrays.asList(true, false)),
UrlCrypticEnabled("dmt.security.url.cryptic.enabled", false, Arrays.asList(true, false)),
CsrfPreventionEnabled("dmt.security.csrf.prevention.enabled", false, Arrays.asList(true, false)),
HttpAuthFilterEnabled("dmt.security.filter.enabled", true, Arrays.asList(true, false)),
OtherAuthUserPassEnabled("dmt.security.other.userpass.enabled", false, Arrays.asList(true, false)),
OtherAuthUsernameParam("dmt.security.other.username.param", "username"),
OtherAuthPasswordParam("dmt.security.other.password.param", "password"),
OtherAuthUpdate("dmt.security.other.update", false, Arrays.asList(true, false)),
//STO: Session Time Out
STO_Database("dmt.security.sto.database", 60),
STO_LDAP("dmt.security.sto.ldap", 40),
STO_Other("dmt.security.sto.other", 20),
STO_Admin("dmt.security.sto.admin", 10),
CorsEnabled("dmt.security.cors.enabled", false, Arrays.asList(true, false)),
CorsHeaderOrigins("dmt.security.cors.origins", "*"),
CorsHeaderHeaders("dmt.security.cors.headers", "Origin, X-Requested-With, Content-Type, Accept"),
CorsHeaderMethods("dmt.security.cors.methods", "GET, POST, HEAD, OPTIONS"),
CorsHeaderCredentials("dmt.security.cors.credential", "true"),
DPageInstRolesByXML("dmt.service.dpage.roles.xml", false, Arrays.asList(true, false)),
StringTemplateCacheEnabled("dmt.service.string.template.cache.enabled", true, Arrays.asList(true, false)),
FileBaseDir(true, "dmt.service.file.base.dir"),
//TODO ServiceRemoteHost("dmt.service.remote.host"),
WebAppName("dmt.web.app.name"),
WebRequestTimeout("dmt.web.request.timeout", 10),
WebIgnoreMissedResource("dmt.web.ignore.missed.resource", false, Arrays.asList(true, false)),
WebReplaceCharForString("dmt.web.replace.char", "{\"fa\":[{\"from\":\"ي\",\"to\":\"ی\"}, {\"from\":\"ك\",\"to\":\"ک\"}]}"),
WebUsernameValidRegex("dmt.web.username.valid.regex", "^[A-Za-z0-9]+?[A-Za-z0-9.]*?$"),
WebPasswordStrength("dmt.web.password.strength", false, Arrays.asList(true, false)),
WebPasswordStrengthDigit("dmt.web.password.strength.digit", true, Arrays.asList(true, false)),
WebPasswordStrengthLowerCase("dmt.web.password.strength.lower", true, Arrays.asList(true, false)),
WebPasswordStrengthUpperCase("dmt.web.password.strength.upper", true, Arrays.asList(true, false)),
WebPasswordStrengthSpecialChar("dmt.web.password.strength.special", true, Arrays.asList(true, false)),
WebPasswordStrengthNoWhiteSpace("dmt.web.password.strength.nospace", true, Arrays.asList(true, false)),
WebPasswordStrengthMinLength("dmt.web.password.strength.minlength", 7),
WebPasswordStrengthMaxLength("dmt.web.password.strength.maxlength"),
PingWebSocketEnabled("dmt.web.ws.ping.enabled", true, Arrays.asList(true, false)),
PingWebSocketPeriod("dmt.web.ws.ping.period", 270), //4.5 * 60
StartupGroovyScript("dmt.server.startup.script"),
LdapDnTemplate(true, "dmt.ldap.dn.template"),
LdapUrl(true, "dmt.ldap.url"),
LdapAttrFirstName("dmt.ldap.attr.firstname", "givenname"),
LdapAttrLastName("dmt.ldap.attr.lastname", "sn"),
TaskEnabled("dmt.task.enabled", true, Arrays.asList(true, false)),
TaskPoolSize("dmt.task.pool.size", 5),
TaskPoolMax("dmt.task.pool.max", 10),
TaskPoolAliveTime("dmt.task.pool.alive.time", 10), //minutes
TaskFinishedQueueSize("dmt.task.finished.queue.size", 1000),
UserDefaultLocale("dmt.user.def.locale", "fa", Arrays.asList("fa", "en")),
UserDefaultCalendar("dmt.user.def.calendar", Arrays.asList("Persian", "Gregorian")),
UserDefaultTimeZone("dmt.user.def.timezone", TimeZone.getDefault().getID()),
LogMDCEnabled("dmt.log.mdc.enabled", true, Arrays.asList(true, false));
// ------------------------------
private String key;
private boolean validate = false;
private Object defaultValue;
private List> possibilities;
DemeterConfigKey(String key) {
this(false, key, null);
}
DemeterConfigKey(String key, List> possibilities) {
this(false, key, possibilities);
}
DemeterConfigKey(boolean validate, String key) {
this(validate, key, null);
}
// Main Constructor 1
DemeterConfigKey(boolean validate, String key, List> possibilities) {
this.key = key;
this.validate = validate;
this.possibilities = possibilities;
}
DemeterConfigKey(String key, Object defaultValue) {
this(key, defaultValue, null);
}
// Main Constructor 2
DemeterConfigKey(String key, Object defaultValue, List> possibilities) {
this.key = key;
this.defaultValue = defaultValue;
this.possibilities = possibilities;
}
@Override
public String getKey() {
return key;
}
@Override
public boolean getValidate() {
return validate;
}
@Override
public Object getDefaultValue() {
return defaultValue;
}
@Override
public List> getPossibleValues() {
return possibilities;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy