Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

ValueMap.java 2.4KB

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