package ru.yandex.autotests.direct.fakebsproxy.beans.updatestorecontent;

import com.google.gson.annotations.SerializedName;
import ru.yandex.autotests.direct.fakebsproxy.beans.BaseBean;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by buhter on 18/08/15.
 */
public class Properties extends BaseBean<Properties> {
    public static final String BUNDLE = "bundle";
    public static final String PRICE = "price";
    public static final String OS_VERSION = "os_version";
    public static final String ADULT = "adult";
    public static final String RATING = "rating";
    public static final String RATING_COUNT = "rating_count";
    public static final String SUPPORTED_DEVICES = "supported_devices";

    @SerializedName(OS_VERSION)
    private String osVersion;

    @SerializedName("name")
    private String name;

    @SerializedName(ADULT)
    private String adult;

    @SerializedName("genres")
    private String genres;

    @SerializedName("MTime")
    private List<String> mTime = new ArrayList<>();

    @SerializedName("clickUrl")
    private String clickUrl;

    @SerializedName("app_id")
    private String appId;

    @SerializedName("icon")
    private String icon;

    @SerializedName("date_release_ts")
    private String dateReleaseTs;

    @SerializedName("file_size")
    private String fileSize;

    @SerializedName(RATING_COUNT)
    private String ratingCount;

    @SerializedName("currency")
    private String currency;

    @SerializedName("publisher")
    private String publisher;

    @SerializedName("id")
    private String id;

    @SerializedName(PRICE)
    private String price;

    @SerializedName("_MimeType")
    private String mimeType;

    @SerializedName("prefix")
    private String prefix;

    @SerializedName("screens")
    private String screens;

    @SerializedName("website")
    private String website;

    @SerializedName(RATING)
    private String rating;

    @SerializedName("release_date")
    private String releaseDate;

    @SerializedName("description")
    private String description;

    @SerializedName("description_small")
    private String descriptionSmall;

    @SerializedName(SUPPORTED_DEVICES)
    private String supportedDevices;

    @SerializedName(BUNDLE)
    private String bundle;

    public String getOsVersion() {
        return osVersion;
    }

    public void setOsVersion(String osVersion) {
        this.osVersion = osVersion;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAdult() {
        return adult;
    }

    public void setAdult(String adult) {
        this.adult = adult;
    }

    public String getGenres() {
        return genres;
    }

    public void setGenres(String genres) {
        this.genres = genres;
    }

    public List<String> getmTime() {
        return mTime;
    }

    public void setmTime(List<String> mTime) {
        this.mTime = mTime;
    }

    public String getClickUrl() {
        return clickUrl;
    }

    public void setClickUrl(String clickUrl) {
        this.clickUrl = clickUrl;
    }

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public String getDateReleaseTs() {
        return dateReleaseTs;
    }

    public void setDateReleaseTs(String dateReleaseTs) {
        this.dateReleaseTs = dateReleaseTs;
    }

    public String getFileSize() {
        return fileSize;
    }

    public void setFileSize(String fileSize) {
        this.fileSize = fileSize;
    }

    public String getRatingCount() {
        return ratingCount;
    }

    public void setRatingCount(String ratingCount) {
        this.ratingCount = ratingCount;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getPublisher() {
        return publisher;
    }

    public void setPublisher(String publisher) {
        this.publisher = publisher;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    public String getMimeType() {
        return mimeType;
    }

    public void setMimeType(String mimeType) {
        this.mimeType = mimeType;
    }

    public String getPrefix() {
        return prefix;
    }

    public void setPrefix(String prefix) {
        this.prefix = prefix;
    }

    public String getScreens() {
        return screens;
    }

    public void setScreens(String screens) {
        this.screens = screens;
    }

    public String getWebsite() {
        return website;
    }

    public void setWebsite(String website) {
        this.website = website;
    }

    public String getRating() {
        return rating;
    }

    public void setRating(String rating) {
        this.rating = rating;
    }

    public String getReleaseDate() {
        return releaseDate;
    }

    public void setReleaseDate(String releaseDate) {
        this.releaseDate = releaseDate;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDescriptionSmall() {
        return descriptionSmall;
    }

    public void setDescriptionSmall(String descriptionSmall) {
        this.descriptionSmall = descriptionSmall;
    }

    public String getSupportedDevices() {
        return supportedDevices;
    }

    public void setSupportedDevices(String supportedDevices) {
        this.supportedDevices = supportedDevices;
    }

    public String getBundle() {
        return bundle;
    }

    public void setBundle(String bundle) {
        this.bundle = bundle;
    }

    public Properties withOsVersion(String osVersion) {
        this.osVersion = osVersion;
        return this;
    }

    public Properties withName(String name) {
        this.name = name;
        return this;
    }

    public Properties withAdult(String adult) {
        this.adult = adult;
        return this;
    }

    public Properties withGenres(String genres) {
        this.genres = genres;
        return this;
    }

    public Properties withmTime(List<String> mTime) {
        this.mTime = mTime;
        return this;
    }

    public Properties withClickUrl(String clickUrl) {
        this.clickUrl = clickUrl;
        return this;
    }

    public Properties withAppId(String appId) {
        this.appId = appId;
        return this;
    }

    public Properties withIcon(String icon) {
        this.icon = icon;
        return this;
    }

    public Properties withDateReleaseTs(String dateReleaseTs) {
        this.dateReleaseTs = dateReleaseTs;
        return this;
    }

    public Properties withFileSize(String fileSize) {
        this.fileSize = fileSize;
        return this;
    }

    public Properties withRatingCount(String ratingCount) {
        this.ratingCount = ratingCount;
        return this;
    }

    public Properties withCurrency(String currency) {
        this.currency = currency;
        return this;
    }

    public Properties withPublisher(String publisher) {
        this.publisher = publisher;
        return this;
    }

    public Properties withId(String id) {
        this.id = id;
        return this;
    }

    public Properties withPrice(String price) {
        this.price = price;
        return this;
    }

    public Properties withMimeType(String mimeType) {
        this.mimeType = mimeType;
        return this;
    }

    public Properties withPrefix(String prefix) {
        this.prefix = prefix;
        return this;
    }

    public Properties withScreens(String screens) {
        this.screens = screens;
        return this;
    }

    public Properties withWebsite(String website) {
        this.website = website;
        return this;
    }

    public Properties withRating(String rating) {
        this.rating = rating;
        return this;
    }

    public Properties withReleaseDate(String releaseDate) {
        this.releaseDate = releaseDate;
        return this;
    }

    public Properties withDescription(String description) {
        this.description = description;
        return this;
    }

    public Properties withDescriptionSmall(String descriptionSmall) {
        this.descriptionSmall = descriptionSmall;
        return this;
    }

    public Properties withSupportedDevices(String supportedDevices) {
        this.supportedDevices = supportedDevices;
        return this;
    }

    public Properties withBundle(String bundle) {
        this.bundle = bundle;
        return this;
    }

}
