package com.l7tech.gateway.common.resources;

import com.l7tech.objectmodel.EntityType;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.ZoneableEntityHeader;
import com.l7tech.util.DeserializeSafe;
import org.jetbrains.annotations.Nullable;

@DeserializeSafe
public class ResourceEntryHeader extends ZoneableEntityHeader {
   private String uri;
   private ResourceType resourceType;
   private String resourceKey1;
   private String resourceKey2;
   private String resourceKey3;
   static final long serialVersionUID = -3269474693644224871L;

   public ResourceEntryHeader(ResourceEntry var1) {
      this(
         var1.getId(),
         var1.getUri(),
         var1.getDescription(),
         var1.getType(),
         var1.getResourceKey1(),
         var1.getResourceKey2(),
         var1.getResourceKey3(),
         var1.getVersion(),
         var1.getSecurityZone() == null ? null : var1.getSecurityZone().getGoid()
      );
   }

   public ResourceEntryHeader(
      String var1, String var2, String var3, ResourceType var4, String var5, String var6, String var7, Integer var8, @Nullable Goid var9
   ) {
      super(var1, EntityType.RESOURCE_ENTRY, null, var3, var8);
      this.uri = var2;
      this.resourceType = var4;
      this.resourceKey1 = var5;
      this.resourceKey2 = var6;
      this.resourceKey3 = var7;
      this.securityZoneGoid = var9;
   }

   public String getResourceKey1() {
      return this.resourceKey1;
   }

   public String getResourceKey2() {
      return this.resourceKey2;
   }

   public String getResourceKey3() {
      return this.resourceKey3;
   }

   public ResourceType getResourceType() {
      return this.resourceType;
   }

   public String getUri() {
      return this.uri;
   }
}
