package com.dataart.android.devicehive; import android.os.Parcel; import android.os.Parcelable; /** * Represents meta-information about the current API. */ public class ApiInfo implements Parcelable { private String apiVersion; private String serverTimestamp; private String webSocketServerUrl; /** * Constructs API info object with given parameters. * * @param apiVersion * API version. * @param serverTimestamp * Current server timestamp. * @param webSocketServerUrl * WebSocket server URL. */ public ApiInfo(String apiVersion, String serverTimestamp, String webSocketServerUrl) { this.apiVersion = apiVersion; this.serverTimestamp = serverTimestamp; this.webSocketServerUrl = webSocketServerUrl; } /** * Get API version. * * @return API version string. */ public String getApiVersion() { return apiVersion; } /** * Get current server timestamp. * * @return Network key. */ public String getServerTimestamp() { return serverTimestamp; } /** * Get WebSocket server URL. * * @return WebSocket server URL. */ public String getWebSocketServerUrl() { return webSocketServerUrl; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(apiVersion); dest.writeString(serverTimestamp); dest.writeString(webSocketServerUrl); } public static Parcelable.Creator<ApiInfo> CREATOR = new Parcelable.Creator<ApiInfo>() { @Override public ApiInfo[] newArray(int size) { return new ApiInfo[size]; } @Override public ApiInfo createFromParcel(Parcel source) { return new ApiInfo(source.readString(), source.readString(), source.readString()); } }; @Override public String toString() { return "ApiInfo [apiVersion=" + apiVersion + ", serverTimestamp=" + serverTimestamp + ", webSocketServerUrl=" + webSocketServerUrl + "]"; } }