package com.alterdekim.hearthhack.xml;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlText;
import lombok.*;

import java.util.List;

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class XMLEntity {
    //@JsonProperty("")
    @JacksonXmlProperty(isAttribute = true, localName = "CardID")
    private String cardId;

    @JacksonXmlProperty(isAttribute = true)
    private Integer version;

    @JsonProperty("Tag")
    @JacksonXmlElementWrapper(useWrapping = false)
    private List<XMLTag> tags;

    @JacksonXmlProperty(localName = "MasterPower")
    private XMLMasterPower masterPower;

    @JsonProperty("Power")
    @JacksonXmlElementWrapper(useWrapping = false)
    private List<XMLPower> power;

    @JsonProperty("ReferencedTag")
    @JacksonXmlElementWrapper(useWrapping = false)
    private List<XMLReferencedTag> refTags;

    @JsonProperty("TriggeredPowerHistoryInfo")
    @JacksonXmlElementWrapper(useWrapping = false)
    private List<XMLTriggeredPowerHistoryInfo> powerHistoryInfos;

    @JsonProperty("EntourageCard")
    @JacksonXmlElementWrapper(useWrapping = false)
    private List<XMLEntourageCard> entourageCards;
}