package com.l7tech.gateway.api;

import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlTransient;
import java.util.Date;
import java.util.List;

@XmlTransient
public abstract class Reference<R> {
   private String a;
   private String b;
   private String c;
   private List<Link> d;
   private R e;
   private Date f;

   @XmlElement(name = "Id")
   public String getId() {
      return this.a;
   }

   public void setId(String var1) {
      this.a = var1;
   }

   @XmlElement(name = "Type", required = true)
   public String getType() {
      return this.b;
   }

   public void setType(String var1) {
      this.b = var1;
   }

   @XmlElement(name = "Name")
   public String getName() {
      return this.c;
   }

   public void setName(String var1) {
      this.c = var1;
   }

   @XmlElement(name = "Link")
   public List<Link> getLinks() {
      return this.d;
   }

   public void setLinks(List<Link> var1) {
      this.d = var1;
   }

   @XmlTransient
   public R getContent() {
      return this.e;
   }

   public void setContent(R var1) {
      this.f = new Date();
      this.e = (R)var1;
   }

   @XmlElement(name = "TimeStamp")
   public Date getDate() {
      return this.f;
   }

   public void setDate(Date var1) {
      this.f = var1;
   }
}
