package com.airlock.iam.opensso.jaxb.xmlenc;

import jakarta.xml.bind.JAXBElement;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElementRef;
import jakarta.xml.bind.annotation.XmlElementRefs;
import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.XmlType;
import java.util.ArrayList;
import java.util.List;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = "dataReferenceOrKeyReference")
@XmlRootElement(name = "ReferenceList")
public class ReferenceList {
   @XmlElementRefs(
      {
            @XmlElementRef(name = "DataReference", namespace = "http://www.w3.org/2001/04/xmlenc#", type = JAXBElement.class, required = false),
            @XmlElementRef(name = "KeyReference", namespace = "http://www.w3.org/2001/04/xmlenc#", type = JAXBElement.class, required = false)
      }
   )
   protected List<JAXBElement<ReferenceType>> dataReferenceOrKeyReference;

   public List<JAXBElement<ReferenceType>> getDataReferenceOrKeyReference() {
      if (this.dataReferenceOrKeyReference == null) {
         this.dataReferenceOrKeyReference = new ArrayList<>();
      }

      return this.dataReferenceOrKeyReference;
   }
}
