package com.l7tech.gateway.api.impl;

import com.l7tech.gateway.api.PolicyReferenceInstruction;
import com.l7tech.gateway.api.Resource;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlElementWrapper;
import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.XmlType;
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.List;
import java.util.Map;

@XmlRootElement(name = "PolicyImportContext")
@XmlType(name = "PolicyImportContextType", propOrder = {"properties", "resource", "policyReferenceInstructions", "extension", "extensions"})
public class PolicyImportContext extends ElementExtendableManagedObject {
   private Map<String, Object> f;
   private Resource g;
   private List<PolicyReferenceInstruction> h;

   @XmlElement(name = "Properties")
   @XmlJavaTypeAdapter(PropertiesMapType.PropertiesMapTypeAdapter.class)
   public Map<String, Object> getProperties() {
      return this.f;
   }

   public void setProperties(Map<String, Object> var1) {
      this.f = var1;
   }

   @XmlElement(name = "Resource", required = true)
   public Resource getResource() {
      return this.g;
   }

   public void setResource(Resource var1) {
      this.g = var1;
   }

   @XmlElementWrapper(name = "PolicyReferenceInstructions")
   @XmlElement(name = "PolicyReferenceInstruction", required = true)
   public List<PolicyReferenceInstruction> getPolicyReferenceInstructions() {
      return this.h;
   }

   public void setPolicyReferenceInstructions(List<PolicyReferenceInstruction> var1) {
      this.h = var1;
   }
}
