package com.netflix.governator;
public class GovernatorFeature<T> {
private final String key;
private final T defaultValue;
public static <T> GovernatorFeature<T> create(String key, T defaultValue) {
return new GovernatorFeature<T>(key, defaultValue);
}
public GovernatorFeature(String key, T defaultValue) {
this.key = key;
this.defaultValue = defaultValue;
}
public String getKey() {
return key;
}
@SuppressWarnings("unchecked")
public Class<T> getType() {
return (Class<T>) defaultValue.getClass();
}
public T getDefaultValue() {
return defaultValue;
}
}