/protocols/jain-megaco/megaco-api/src/main/java/javax/megaco/pkg/ParamValueType.java

http://mobicents.googlecode.com/ · Java · 81 lines · 63 code · 18 blank · 0 comment · 2 complexity · 077d7cfa8a9d9d648fb0ef9f9fc5941e MD5 · raw file

  1. package javax.megaco.pkg;
  2. import java.io.Serializable;
  3. public final class ParamValueType implements Serializable {
  4. public static final int M_STRING = 1;
  5. public static final int M_INTEGER = 2;
  6. public static final int M_BOOLEAN = 3;
  7. public static final int M_DOUBLE = 4;
  8. public static final ParamValueType STRING = new ParamValueType(M_STRING);
  9. public static final ParamValueType INTEGER = new ParamValueType(M_INTEGER);
  10. public static final ParamValueType BOOLEAN = new ParamValueType(M_BOOLEAN);
  11. public static final ParamValueType DOUBLE = new ParamValueType(M_DOUBLE);
  12. private int value_type;
  13. private ParamValueType(int value_type) {
  14. this.value_type = value_type;
  15. }
  16. public int getParamValueType() {
  17. return this.value_type;
  18. }
  19. public static final ParamValueType getObject(int value) throws IllegalArgumentException {
  20. ParamValueType p = null;
  21. switch (value) {
  22. case M_STRING:
  23. p = STRING;
  24. break;
  25. case M_INTEGER:
  26. p = INTEGER;
  27. break;
  28. case M_BOOLEAN:
  29. p = BOOLEAN;
  30. break;
  31. case M_DOUBLE:
  32. p = DOUBLE;
  33. break;
  34. default:
  35. throw new IllegalArgumentException("No ParamValueType for passed value " + value);
  36. }
  37. return p;
  38. }
  39. private Object readResolve() {
  40. return this.getObject(this.value_type);
  41. }
  42. @Override
  43. public String toString() {
  44. String p = null;
  45. switch (this.value_type) {
  46. case M_STRING:
  47. p = "ParamValueType[STRING]";
  48. break;
  49. case M_INTEGER:
  50. p = "ParamValueType[INTEGER]";
  51. break;
  52. case M_BOOLEAN:
  53. p = "ParamValueType[BOOLEAN]";
  54. break;
  55. case M_DOUBLE:
  56. p = "ParamValueType[DOUBLE]";
  57. break;
  58. default:
  59. p = "ParamValueType[" + this.value_type + "]";
  60. }
  61. return p;
  62. }
  63. }