package org.apereo.cas.configuration.model.support.mongo;
import org.apache.commons.lang3.StringUtils;
import org.apereo.cas.configuration.support.Beans;
/**
* This is {@link AbstractMongoInstanceProperties}.
*
* @author Misagh Moayyed
* @since 5.1.0
*/
public abstract class AbstractMongoInstanceProperties {
private Conns conns = new Conns();
private int port = 27017;
private String userId = StringUtils.EMPTY;
private String password = StringUtils.EMPTY;
private String host = "localhost";
private String timeout = "PT5S";
private String idleTimeout = "PT30S";
private String writeConcern = "NORMAL";
private String collectionName;
private String databaseName = StringUtils.EMPTY;
private boolean socketKeepAlive;
private boolean dropCollection;
public String getHost() {
return host;
}
public void setHost(final String host) {
this.host = host;
}
public int getPort() {
return port;
}
public void setPort(final int port) {
this.port = port;
}
public String getUserId() {
return userId;
}
public void setUserId(final String userId) {
this.userId = userId;
}
public String getPassword() {
return password;
}
public void setPassword(final String password) {
this.password = password;
}
public boolean isDropCollection() {
return dropCollection;
}
public void setDropCollection(final boolean dropCollection) {
this.dropCollection = dropCollection;
}
public long getTimeout() {
return Beans.newDuration(timeout).toMillis();
}
public void setTimeout(final String timeout) {
this.timeout = timeout;
}
public long getIdleTimeout() {
return Beans.newDuration(idleTimeout).toMillis();
}
public void setIdleTimeout(final String idleTimeout) {
this.idleTimeout = idleTimeout;
}
public String getWriteConcern() {
return writeConcern;
}
public void setWriteConcern(final String writeConcern) {
this.writeConcern = writeConcern;
}
public boolean isSocketKeepAlive() {
return socketKeepAlive;
}
public void setSocketKeepAlive(final boolean socketKeepAlive) {
this.socketKeepAlive = socketKeepAlive;
}
public Conns getConns() {
return conns;
}
public void setConns(final Conns conns) {
this.conns = conns;
}
public String getCollectionName() {
return collectionName;
}
public void setCollectionName(final String collectionName) {
this.collectionName = collectionName;
}
public String getDatabaseName() {
return databaseName;
}
public void setDatabaseName(final String databaseName) {
this.databaseName = databaseName;
}
public static class Conns {
private int lifetime = 60_000;
private int perHost = 10;
public int getLifetime() {
return lifetime;
}
public void setLifetime(final int lifetime) {
this.lifetime = lifetime;
}
public int getPerHost() {
return perHost;
}
public void setPerHost(final int perHost) {
this.perHost = perHost;
}
}
}