package com.l7tech.objectmodel;

import com.l7tech.objectmodel.folder.HasFolderId;

public class AliasHeader<ET extends PersistentEntity> extends ZoneableEntityHeader implements HasFolderId {
   private EntityType aliasedEntityType;
   private Goid aliasedEntityId;
   private Goid folderGoid;
   static final long serialVersionUID = 3848627107642205083L;

   public AliasHeader(Alias<ET> var1) {
      super(
         var1.getGoid(),
         EntityTypeRegistry.getEntityType((Class<? extends Entity>)var1.getClass()),
         var1 instanceof NamedEntity ? ((NamedEntity)var1).getName() : null,
         null,
         var1.getVersion()
      );
      this.aliasedEntityType = var1.getEntityType();
      this.aliasedEntityId = var1.getEntityGoid();
      this.folderGoid = var1.getFolder() != null ? var1.getFolder().getGoid() : null;
      this.securityZoneGoid = var1.getSecurityZone() == null ? null : var1.getSecurityZone().getGoid();
   }

   public EntityType getAliasedEntityType() {
      return this.aliasedEntityType;
   }

   public void setAliasedEntityType(EntityType var1) {
      this.aliasedEntityType = var1;
   }

   public Goid getAliasedEntityId() {
      return this.aliasedEntityId;
   }

   public void setAliasedEntityId(Goid var1) {
      this.aliasedEntityId = var1;
   }

   @Override
   public Goid getFolderId() {
      return this.folderGoid;
   }

   @Override
   public void setFolderId(Goid var1) {
      this.folderGoid = var1;
   }
}
