package org.pac4j.config.builder;
import java.util.Map;
/**
* An abstract builder of the configuration.
*
* @author Jerome Leleu
* @since 2.0.0
*/
public abstract class AbstractBuilder {
protected static final int MAX_NUM_CLIENTS = 10;
protected final Map<String, String> properties;
protected AbstractBuilder(final Map<String, String> properties) {
this.properties = properties;
}
protected String concat(final String value, int num) {
return value.concat(num == 0 ? "" : "." + num);
}
protected String getProperty(final String name) {
return properties.get(name);
}
protected String getProperty(final String name, final int num) {
return getProperty(concat(name, num));
}
protected boolean containsProperty(final String name, final int num) {
return properties.containsKey(concat(name, num));
}
protected boolean getPropertyAsBoolean(final String name, final int num) {
return Boolean.valueOf(getProperty(name, num));
}
protected int getPropertyAsInteger(final String name, final int num) {
return Integer.parseInt(getProperty(name, num));
}
protected long getPropertyAsLong(final String name, final int num) {
return Long.parseLong(getProperty(name, num));
}
}