package at.reisinger.obj;

import com.fasterxml.jackson.annotation.*;

/**
 * at.reisinger.obj.Package besteht aus 4 Karten. Ist eine Erweiterung der at.reisinger.obj.Cards, zeigt für 4 at.reisinger.obj.Cards den Preis und einen Packagenamen an
 */
@JsonAutoDetect
public class Package extends Cards{
    @JsonProperty
    private String name;
    @JsonProperty
    private final int price;

    /**
     * Erstellt ein neues at.reisinger.obj.Package mit den gegebenen Stats
     * @param stack at.reisinger.obj.Cards des Packages
     * @param name Name des Packages
     * @param price Price des Packages
     */
    @JsonCreator
    public Package(@JsonProperty Cards stack,@JsonProperty String name,@JsonProperty int price) {
        super(stack.getCards());
        this.name = name;
        this.price = price;
    }

    /**
     * Holt den namen des Packages
     * @return Name des Packages
     */
    @JsonGetter
    public String getName() {
        return this.name;
    }

    /**
     * Holt den Preis des Packages
     * @return Preis des Packages
     */
    @JsonGetter
    public int getPrice() {
        return this.price;
    }

    /**
     * Setzt den Namen des Packages
     * @param neuName Neuer name des Packages
     */
    @JsonSetter
    public void setName(String neuName) {
        this.name = neuName;
    }
}
