All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.twitch4j.helix.domain.ExtensionBitsProduct Maven / Gradle / Ivy

package com.github.twitch4j.helix.domain;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.With;
import lombok.experimental.Accessors;
import lombok.extern.jackson.Jacksonized;

import java.time.Instant;

@With
@Data
@Setter(AccessLevel.PRIVATE)
@Builder(toBuilder = true)
@Jacksonized
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ExtensionBitsProduct {

    /**
     * SKU of the Bits product.
     * 

* This is unique across all products that belong to an Extension. */ private String sku; /** * Object containing cost information. */ private Cost cost; /** * Indicates if the product is in development and not yet released for public use. */ @Accessors(fluent = true) @JsonProperty("in_development") private Boolean isInDevelopment; /** * Name of the product to be displayed in the Extension. */ private String displayName; /** * Expiration time for the product in RFC3339 format. */ private Instant expiration; /** * Indicates if Bits product purchase events are broadcast to all instances of an Extension on a channel via the “onTransactionComplete” helper callback. */ @Accessors(fluent = true) @JsonProperty("is_broadcast") private Boolean isBroadcast; @With @Data @Setter(AccessLevel.PRIVATE) @Builder(toBuilder = true) @Jacksonized @NoArgsConstructor @AllArgsConstructor @JsonInclude(JsonInclude.Include.NON_NULL) public static class Cost { /** * Number of Bits for which the product will be exchanged. */ private Integer amount; /** * Cost type. *

* The one valid value is "bits". */ @Builder.Default private String type = "bits"; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy