2 * Copyright 2009, 2010 Electronic Business Systems Ltd.
4 * This file is part of GSS.
6 * GSS is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * GSS is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with GSS. If not, see <http://www.gnu.org/licenses/>.
19 package gr.ebs.gss.client.rest.resource;
21 import java.io.Serializable;
23 import com.google.gwt.json.client.JSONObject;
24 import com.google.gwt.user.client.ui.TreeItem;
31 public abstract class RestResource implements Serializable{
34 public RestResource(String aUri) {
44 public String getUri() {
51 * @param aUri the path to set
53 public void setUri(String aUri) {
56 // Remove any parameter part
57 int qm = uri.indexOf('?');
58 if (qm>=0) uri = uri.substring(0, qm);
62 public abstract void createFromJSON(String text);
64 protected String unmarshallString(JSONObject obj, String key){
65 if(obj.get(key) != null)
66 if(obj.get(key).isString() != null)
67 return obj.get(key).isString().stringValue();
71 protected int unmarshallInt(JSONObject obj, String key){
72 if(obj.get(key) != null)
73 if(obj.get(key).isNumber() != null)
74 return (int) obj.get(key).isNumber().getValue();
78 protected boolean unmarshallBoolean(JSONObject obj, String key){
79 if(obj.get(key) != null)
80 if(obj.get(key).isBoolean() != null)
81 return obj.get(key).isBoolean().booleanValue();
85 public static native String getDate(Long ms)/*-{
86 return (new Date(ms)).toUTCString();
89 public abstract String getLastModifiedSince();
91 public String constructUri(@SuppressWarnings("unused") TreeItem treeItem, @SuppressWarnings("unused") String path){
95 public String getName(){
96 String[] names = uri.split("/");
97 return names[names.length -1];