3.1 KiB
3.1 KiB
Power Framework - Documentation
Power Framework is a multipurpose Java library.
class ValueHolder<T> { private T value; private Class clazz; public ValueHolder(T valueIn) { this.value = valueIn; this.clazz = valueIn == null ? null : valueIn.getClass(); } public final T getValue() { return this.value; } public final Class getClassOfValue() { return this.clazz; } } class IntegerHolder extends ValueHolder<Integer> { public IntegerHolder(Integer valueIn) { super(valueIn); } } enum PrimitiveType { INT, LONG, FLOAT, DOUBLE, BOOLEAN; } class PrimitiveHolder<T> { private int intValue = 0; private long longValue = 0l; private float floatValue = 0f; private double doubleValue = 0d; private boolean booleanValue = false; private final PrimitiveType primitiveType; public PrimitiveHolder(int intValueIn) { this.intValue = intValueIn; this.primitiveType = PrimitiveType.INT; } public PrimitiveHolder(long longValueIn) { this.longValue = longValueIn; this.primitiveType = PrimitiveType.LONG; } public PrimitiveHolder(float floatValueIn) { this.floatValue = floatValueIn; this.primitiveType = PrimitiveType.FLOAT; } public PrimitiveHolder(double doubleValueIn) { this.doubleValue = doubleValueIn; this.primitiveType = PrimitiveType.DOUBLE.INT; } public PrimitiveHolder(boolean booleanValueIn) { this.booleanValue = booleanValueIn; this.primitiveType = PrimitiveType.BOOLEAN; } public int getIntValue() { if (this.primitiveType != PrimitiveType.INT) { throw new RuntimeException("Unsupported method for primitive type: " + primitiveType); } return intValue; } public long getLongValue() { if (this.primitiveType != PrimitiveType.LONG) { throw new RuntimeException("Unsupported method for primitive type: " + primitiveType); } return longValue; } public float getFloatValue() { if (this.primitiveType != PrimitiveType.FLOAT) { throw new RuntimeException("Unsupported method for primitive type: " + primitiveType); } return floatValue; } public double getDoubleValue() { if (this.primitiveType != PrimitiveType.DOUBLE) { throw new RuntimeException("Unsupported method for primitive type: " + primitiveType); } return doubleValue; } public boolean isBooleanValue() { if (this.primitiveType != PrimitiveType.BOOLEAN) { throw new RuntimeException("Unsupported method for primitive type: " + primitiveType); } return booleanValue; } public PrimitiveType getPrimitiveType() { return primitiveType; } } public void test(String[] args) { //test List<PrimitiveHolder> primitiveHolderList = new ArrayList<>(); primitiveHolderList.add(new PrimitiveHolder(5)); }