
com.intellifylearning.models.Props Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of intellisense Show documentation
Show all versions of intellisense Show documentation
IntelliSense Sensor API for Java
package com.intellifylearning.models;
import java.util.Date;
import java.util.HashMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Props extends HashMap {
private static final long serialVersionUID = -3751430322294788170L;
private static final Logger logger = LoggerFactory.getLogger(Props.class);
public Props() {
super(1);
}
public Props(Object... kvs) {
super(kvs == null ? 1 : kvs.length / 2);
if (kvs != null) {
if (kvs.length % 2 != 0) {
logger.warn("Segmentio properties must be initialized with an " +
"even number of arguments, like so: [Key, Value, Key, Value]");
} else {
if (kvs.length > 1) {
for (int i = 0; i < kvs.length; i += 2) {
this.put(kvs[i].toString(), kvs[i + 1]);
}
}
}
}
}
public Props put(String key, Object value) {
if (allowed(value)) {
super.put(key, value);
} else {
logger.warn(
String.format("Key %s value %s not allowed because it is " +
"not of type String, Integer, Double, Boolean, or Date.",
key, value));
}
return this;
}
public boolean allowed(Object value) {
if (value instanceof String ||
value instanceof Boolean ||
value instanceof Integer ||
value instanceof Double ||
value instanceof Date ||
value instanceof Props) {
return true;
} else {
return false;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy