// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.builtin.adventure.shop.barter;

import com.hypixel.hytale.codec.validation.Validator;
import com.hypixel.hytale.codec.validation.Validators;
import com.hypixel.hytale.codec.KeyedCodec;
import com.hypixel.hytale.codec.Codec;
import javax.annotation.Nonnull;
import com.hypixel.hytale.codec.builder.BuilderCodec;

public class BarterItemStack
{
    public static final BuilderCodec<BarterItemStack> CODEC;
    protected String itemId;
    protected int quantity;
    
    public BarterItemStack(final String itemId, final int quantity) {
        this.quantity = 1;
        this.itemId = itemId;
        this.quantity = quantity;
    }
    
    protected BarterItemStack() {
        this.quantity = 1;
    }
    
    public String getItemId() {
        return this.itemId;
    }
    
    public int getQuantity() {
        return this.quantity;
    }
    
    @Nonnull
    @Override
    public String toString() {
        return "BarterItemStack{itemId='" + this.itemId + "', quantity=" + this.quantity;
    }
    
    static {
        CODEC = BuilderCodec.builder(BarterItemStack.class, BarterItemStack::new).append(new KeyedCodec<String>("ItemId", Codec.STRING), (stack, s) -> stack.itemId = s, stack -> stack.itemId).addValidator(Validators.nonNull()).add().append(new KeyedCodec("Quantity", Codec.INTEGER), (stack, i) -> stack.quantity = i, stack -> stack.quantity).addValidator(Validators.greaterThanOrEqual(1)).add().build();
    }
}
