/*
KadecotJsonString
Copyright (c) 2015 NTT DOCOMO,INC.
Released under the MIT license
http://opensource.org/licenses/mit-license.php
*/
package org.deviceconnect.android.deviceplugin.kadecot.kadecotdevice;
/**
* KadecotJsonString.
*
* @author NTT DOCOMO, INC.
*/
public class KadecotJsonString {
/** Index. */
int mIndex = -1;
/** Property Name. */
String mPropertyName = null;
/** Procedure. */
String mProcedure = null;
/** Default Value. */
int mDefaultValue = -1;
/** Base URI. */
String mBaseUrl = "content://com.sonycsl.kadecot.json.provider/jsonp/v1/devices/";
/** Procedure strings. */
String mProcedureStr = "?procedure=";
/** Parameter strings. */
String mParamStr = "¶ms={\"propertyName\":\"";
/** Value strings. */
String mValueStr = "\",\"propertyValue\":[";
/** Get procedure end strings. */
String mGetEndStr = "\"}";
/** Set procedure end string. */
String mSetEndStr = "]}";
/**
* Constructor.
* @param index Index.
* @param procedure Procedure. (get/set)
* @param propertyName Property Name.
*/
KadecotJsonString(final int index, final String procedure, final String propertyName) {
this.mIndex = index;
this.mProcedure = procedure;
this.mPropertyName = propertyName;
this.mDefaultValue = -1;
}
/**
* Constructor.
* @param index Index.
* @param procedure Procedure.(get/set)
* @param propertyName Property Name.
* @param defaultValue Default Value.
*/
KadecotJsonString(final int index, final String procedure, final String propertyName, final int defaultValue) {
this.mIndex = index;
this.mProcedure = procedure;
this.mPropertyName = propertyName;
this.mDefaultValue = defaultValue;
}
/**
* Get Index.
* @return Index.
*/
int getIndex() {
return mIndex;
}
/**
* Get Procedure.
* @return Procedure.
*/
String getProcedure() {
return mProcedure;
}
/**
* Get Property name.
* @return Property name.
*/
String getPropertyName() {
return mPropertyName;
}
/**
* Get Default value.
* @return Default value.
*/
int getDefautValue() {
return mDefaultValue;
}
/**
* Get JSON string.
* @param deviceId DeviceId.
* @return JSON string.
*/
String getJsonString(final String deviceId) {
/** Json string. */
String jsonStr;
if (mIndex == -1 || mProcedure == null || mPropertyName == null) {
return null;
}
jsonStr = mBaseUrl + deviceId + mProcedureStr + mProcedure;
switch (mProcedure) {
case "set":
if (mDefaultValue == -1) {
return null;
}
return jsonStr + mParamStr + mPropertyName + mValueStr + mDefaultValue + mSetEndStr;
case "get":
return jsonStr + mParamStr + mPropertyName + mGetEndStr;
default:
return null;
}
}
/**
* Get JSON string.
* @param deviceId DeviceId.
* @param value Value.
* @return JSON string.
*/
String getJsonString(final String deviceId, final int value) {
String jsonStr;
if (mIndex == -1 || mProcedure == null || mPropertyName == null) {
return null;
}
jsonStr = mBaseUrl + deviceId + mProcedureStr + mProcedure;
switch (mProcedure) {
case "set":
return jsonStr + mParamStr + mPropertyName + mValueStr + value + mSetEndStr;
case "get":
return jsonStr + mParamStr + mPropertyName + mGetEndStr;
default:
return null;
}
}
/**
* Set Index.
* @param index Index.
*/
void setIndex(final int index) {
mIndex = index;
}
/**
* Set Procedure.
* @param procedure Procedure.
*/
void setProcedure(final String procedure) {
mProcedure = procedure;
}
/**
* Set Property name.
* @param propertyName Property name.
*/
void setPropertyName(final String propertyName) {
mPropertyName = propertyName;
}
/**
* Set Default value.
* @param defaultValue Default value.
*/
void setDefaultValue(final int defaultValue) {
mDefaultValue = defaultValue;
}
}