Java tutorial
/* Copyright (c) 2012 Google Inc. * * 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 plugin.google.iap.v3.util; import org.json.JSONException; import org.json.JSONObject; import com.naef.jnlua.LuaState; /** * Represents an in-app product's listing details. */ public class SkuDetails { String mItemType; String mSku; String mType; String mPrice; String mTitle; String mDescription; String mJson; String mPriceAmountMicros; String mPriceCurrencyCode; public SkuDetails(String jsonSkuDetails) throws JSONException { this(IabHelper.ITEM_TYPE_INAPP, jsonSkuDetails); } public SkuDetails(String itemType, String jsonSkuDetails) throws JSONException { mItemType = itemType; mJson = jsonSkuDetails; JSONObject o = new JSONObject(mJson); mSku = o.optString("productId"); mType = o.optString("type"); mPrice = o.optString("price"); mTitle = o.optString("title"); mDescription = o.optString("description"); mPriceCurrencyCode = o.optString("price_currency_code"); mPriceAmountMicros = o.optString("price_amount_micros"); } public String getSku() { return mSku; } public String getType() { return mType; } public String getPrice() { return mPrice; } public String getTitle() { return mTitle; } public String getDescription() { return mDescription; } public String getPriceCurrencyCode() { return mPriceCurrencyCode; } public String getPriceAmountMicros() { return mPriceAmountMicros; } @Override public String toString() { return "SkuDetails:" + mJson; } /** * Pushes the SKU onto the lua stack. * @param L The lua state to push onto * @param tableIndex The index on the lua stack of where the table is */ public void pushToLua(LuaState L, int tableIndex) { L.pushString(mTitle); L.setField(tableIndex, "title"); L.pushString(mDescription); L.setField(tableIndex, "description"); L.pushString(mPrice); L.setField(tableIndex, "localizedPrice"); L.pushString(mSku); L.setField(tableIndex, "productIdentifier"); L.pushString(mType); L.setField(tableIndex, "type"); L.pushString(mPriceAmountMicros); L.setField(tableIndex, "priceAmountMicros"); L.pushString(mPriceCurrencyCode); L.setField(tableIndex, "priceCurrencyCode"); L.pushString(mJson); L.setField(tableIndex, "originalJson"); } }