package com.linx.lio;

import org.jetbrains.annotations.NotNull;
import org.json.JSONException;
import org.json.JSONObject;

class Product {
    private final String sku;
    private final String name;
    private final Price price;

    Product(final String sku, final String name, final Price price) {
        this.sku = sku;
        this.name = name;
        this.price = price;
    }

    final String getSku() {
        return sku;
    }

    final String getName() {
        return name;
    }

    final Price getPrice() {
        return price;
    }

    static Product fromJSONObject(@NotNull final JSONObject jsonObject) throws JSONException {
        final String sku = jsonObject.getString("sku");
        final String name = jsonObject.getString("name");

        return new Product(sku, name, Price.fromJSONObject(jsonObject));
    }
}
