Java tutorial
/* * jtoggl - Java Wrapper for Toggl REST API https://www.toggl.com/public/api * * Copyright (C) 2011 by simas GmbH, Moosentli 7, 3235 Erlach, Switzerland * http://www.simas.ch * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ch.simas.jtoggl; import org.json.simple.JSONObject; import org.json.simple.JSONValue; /** * * @author Simon Martinelli */ public class Tag { private Long id; private String name; private Workspace workspace; public Tag() { } public Tag(String jsonString) { JSONObject object = (JSONObject) JSONValue.parse(jsonString); this.id = (Long) object.get("id"); this.name = (String) object.get("name"); JSONObject workspaceObject = (JSONObject) object.get("workspace"); if (workspaceObject != null) { this.workspace = new Workspace(workspaceObject.toJSONString()); } } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Workspace getWorkspace() { return workspace; } public void setWorkspace(Workspace workspace) { this.workspace = workspace; } public JSONObject toJSONObject() { JSONObject object = new JSONObject(); if (id != null) { object.put("id", id); } if (name != null) { object.put("name", name); } if (workspace != null) { object.put("workspace", this.workspace.toJSONObject()); } return object; } public String toJSONString() { return this.toJSONObject().toJSONString(); } @Override public String toString() { return "Tag{" + "id=" + id + ", name=" + name + ", workspace=" + workspace + '}'; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Tag other = (Tag) obj; if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) { return false; } return true; } @Override public int hashCode() { int hash = 3; hash = 97 * hash + (this.id != null ? this.id.hashCode() : 0); return hash; } }