public class Test
{
public abstract static class AbstractValueHelper<Value>
{
protected final Class<Value> valueType;
protected final Value[] allowedValues;
public AbstractValueHelper(Class<Value> valueType, Value... allowedValues)
{
this.valueType = valueType;
this.allowedValues = allowedValues;
}
}
public static class ValueHelper<Value> extends AbstractValueHelper<Value>
{
public ValueHelper(Class<Value> valueType) { super(valueType); }
}
}