net.accelbyte.sdk.api.seasonpass.models.RewardInfo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sdk Show documentation
Show all versions of sdk Show documentation
AccelByte Gaming Services Java Extend SDK generated from OpenAPI specs
The newest version!
/*
* Copyright (c) 2022 AccelByte Inc. All Rights Reserved
* This is licensed software from AccelByte Inc, for limitations
* and restrictions contact your company contract manager.
*
* Code generated. DO NOT EDIT.
*/
package net.accelbyte.sdk.api.seasonpass.models;
import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.*;
import lombok.*;
import net.accelbyte.sdk.core.Model;
@JsonIgnoreProperties(ignoreUnknown = true)
@Builder
@Getter
@Setter
// @deprecated 2022-08-29 - All args constructor may cause problems. Use builder instead.
@AllArgsConstructor(onConstructor = @__(@Deprecated))
@NoArgsConstructor
public class RewardInfo extends Model {
@JsonProperty("code")
private String code;
@JsonProperty("currency")
@JsonInclude(JsonInclude.Include.NON_NULL)
private RewardCurrency currency;
@JsonProperty("image")
@JsonInclude(JsonInclude.Include.NON_NULL)
private Image image;
@JsonProperty("itemId")
@JsonInclude(JsonInclude.Include.NON_NULL)
private String itemId;
@JsonProperty("itemName")
@JsonInclude(JsonInclude.Include.NON_NULL)
private String itemName;
@JsonProperty("itemSku")
@JsonInclude(JsonInclude.Include.NON_NULL)
private String itemSku;
@JsonProperty("itemType")
@JsonInclude(JsonInclude.Include.NON_NULL)
private String itemType;
@JsonProperty("namespace")
private String namespace;
@JsonProperty("quantity")
@JsonInclude(JsonInclude.Include.NON_NULL)
private Integer quantity;
@JsonProperty("seasonId")
private String seasonId;
@JsonProperty("type")
private String type;
@JsonIgnore
public String getItemType() {
return this.itemType;
}
@JsonIgnore
public ItemType getItemTypeAsEnum() {
return ItemType.valueOf(this.itemType);
}
@JsonIgnore
public void setItemType(final String itemType) {
this.itemType = itemType;
}
@JsonIgnore
public void setItemTypeFromEnum(final ItemType itemType) {
this.itemType = itemType.toString();
}
@JsonIgnore
public String getType() {
return this.type;
}
@JsonIgnore
public Type getTypeAsEnum() {
return Type.valueOf(this.type);
}
@JsonIgnore
public void setType(final String type) {
this.type = type;
}
@JsonIgnore
public void setTypeFromEnum(final Type type) {
this.type = type.toString();
}
@JsonIgnore
public RewardInfo createFromJson(String json) throws JsonProcessingException {
return new ObjectMapper().readValue(json, this.getClass());
}
@JsonIgnore
public List createFromJsonList(String json) throws JsonProcessingException {
return new ObjectMapper().readValue(json, new TypeReference>() {});
}
public enum ItemType {
APP("APP"),
BUNDLE("BUNDLE"),
CODE("CODE"),
COINS("COINS"),
EXTENSION("EXTENSION"),
INGAMEITEM("INGAMEITEM"),
LOOTBOX("LOOTBOX"),
MEDIA("MEDIA"),
OPTIONBOX("OPTIONBOX"),
SEASON("SEASON"),
SUBSCRIPTION("SUBSCRIPTION");
private String value;
ItemType(String value) {
this.value = value;
}
@Override
public String toString() {
return this.value;
}
}
public enum Type {
CURRENCY("CURRENCY"),
ITEM("ITEM");
private String value;
Type(String value) {
this.value = value;
}
@Override
public String toString() {
return this.value;
}
}
public static class RewardInfoBuilder {
private String itemType;
private String type;
public RewardInfoBuilder itemType(final String itemType) {
this.itemType = itemType;
return this;
}
public RewardInfoBuilder itemTypeFromEnum(final ItemType itemType) {
this.itemType = itemType.toString();
return this;
}
public RewardInfoBuilder type(final String type) {
this.type = type;
return this;
}
public RewardInfoBuilder typeFromEnum(final Type type) {
this.type = type.toString();
return this;
}
}
}