You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /**
  2. *
  3. */
  4. package com.vaadin.terminal.gwt.client;
  5. import java.util.HashSet;
  6. import java.util.Set;
  7. import com.google.gwt.core.client.JavaScriptObject;
  8. import com.google.gwt.core.client.JsArray;
  9. import com.google.gwt.core.client.JsArrayString;
  10. public final class ValueMap extends JavaScriptObject {
  11. protected ValueMap() {
  12. }
  13. public native double getRawNumber(final String name)
  14. /*-{
  15. return this[name];
  16. }-*/;
  17. public native int getInt(final String name)
  18. /*-{
  19. return this[name];
  20. }-*/;
  21. public native boolean getBoolean(final String name)
  22. /*-{
  23. return Boolean(this[name]);
  24. }-*/;
  25. public native String getString(String name)
  26. /*-{
  27. return this[name];
  28. }-*/;
  29. public native JsArrayString getKeyArray()
  30. /*-{
  31. var a = new Array();
  32. var attr = this;
  33. for(var j in attr) {
  34. a.push(j);
  35. }
  36. return a;
  37. }-*/;
  38. public Set<String> getKeySet() {
  39. final HashSet<String> attrs = new HashSet<String>();
  40. JsArrayString attributeNamesArray = getKeyArray();
  41. for (int i = 0; i < attributeNamesArray.length(); i++) {
  42. attrs.add(attributeNamesArray.get(i));
  43. }
  44. return attrs;
  45. }
  46. native JsArrayString getJSStringArray(String name)
  47. /*-{
  48. return this[name];
  49. }-*/;
  50. native JsArray<ValueMap> getJSValueMapArray(String name)
  51. /*-{
  52. return this[name];
  53. }-*/;
  54. public String[] getStringArray(final String name) {
  55. JsArrayString stringArrayAttribute = getJSStringArray(name);
  56. final String[] s = new String[stringArrayAttribute.length()];
  57. for (int i = 0; i < stringArrayAttribute.length(); i++) {
  58. s[i] = stringArrayAttribute.get(i);
  59. }
  60. return s;
  61. }
  62. public int[] getIntArray(final String name) {
  63. JsArrayString stringArrayAttribute = getJSStringArray(name);
  64. final int[] s = new int[stringArrayAttribute.length()];
  65. for (int i = 0; i < stringArrayAttribute.length(); i++) {
  66. s[i] = Integer.parseInt(stringArrayAttribute.get(i));
  67. }
  68. return s;
  69. }
  70. public native boolean containsKey(final String name)
  71. /*-{
  72. return name in this;
  73. }-*/;
  74. public native ValueMap getValueMap(String name)
  75. /*-{
  76. return this[name];
  77. }-*/;
  78. native String getAsString(String name)
  79. /*-{
  80. return '' + this[name];
  81. }-*/;
  82. }