package javax.megaco.pkg;
import java.io.Serializable;
public final class ParamValueType implements Serializable {
public static final int M_STRING = 1;
public static final int M_INTEGER = 2;
public static final int M_BOOLEAN = 3;
public static final int M_DOUBLE = 4;
public static final ParamValueType STRING = new ParamValueType(M_STRING);
public static final ParamValueType INTEGER = new ParamValueType(M_INTEGER);
public static final ParamValueType BOOLEAN = new ParamValueType(M_BOOLEAN);
public static final ParamValueType DOUBLE = new ParamValueType(M_DOUBLE);
private int value_type;
private ParamValueType(int value_type) {
this.value_type = value_type;
}
public int getParamValueType() {
return this.value_type;
}
public static final ParamValueType getObject(int value) throws IllegalArgumentException {
ParamValueType p = null;
switch (value) {
case M_STRING:
p = STRING;
break;
case M_INTEGER:
p = INTEGER;
break;
case M_BOOLEAN:
p = BOOLEAN;
break;
case M_DOUBLE:
p = DOUBLE;
break;
default:
throw new IllegalArgumentException("No ParamValueType for passed value " + value);
}
return p;
}
private Object readResolve() {
return this.getObject(this.value_type);
}
@Override
public String toString() {
String p = null;
switch (this.value_type) {
case M_STRING:
p = "ParamValueType[STRING]";
break;
case M_INTEGER:
p = "ParamValueType[INTEGER]";
break;
case M_BOOLEAN:
p = "ParamValueType[BOOLEAN]";
break;
case M_DOUBLE:
p = "ParamValueType[DOUBLE]";
break;
default:
p = "ParamValueType[" + this.value_type + "]";
}
return p;
}
}