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.

URLReference_Serializer.java 1.2KB

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. @VaadinApache2LicenseForJavaFiles@
  3. */
  4. package com.vaadin.terminal.gwt.client.communication;
  5. import com.google.gwt.core.client.GWT;
  6. import com.google.gwt.json.client.JSONArray;
  7. import com.google.gwt.json.client.JSONObject;
  8. import com.vaadin.terminal.gwt.client.ApplicationConnection;
  9. import com.vaadin.terminal.gwt.client.ConnectorMap;
  10. public class URLReference_Serializer implements JSONSerializer<URLReference> {
  11. public URLReference deserialize(JSONObject jsonValue, URLReference target,
  12. ConnectorMap idMapper, ApplicationConnection connection) {
  13. URLReference reference = GWT.create(URLReference.class);
  14. if (jsonValue.containsKey("URL")) {
  15. JSONArray jsonURL = (JSONArray) jsonValue.get("URL");
  16. String URL = (String) JsonDecoder.decodeValue(jsonURL, null,
  17. idMapper, connection);
  18. reference.setURL(connection.translateVaadinUri(URL));
  19. }
  20. return reference;
  21. }
  22. public JSONObject serialize(URLReference value, ConnectorMap idMapper,
  23. ApplicationConnection connection) {
  24. JSONObject json = new JSONObject();
  25. json.put("URL",
  26. JsonEncoder.encode(value.getURL(), idMapper, connection));
  27. return json;
  28. }
  29. }