package com.l7tech.external.assertions.gatewaygraphql.server.data;

import com.l7tech.external.assertions.gatewaygraphql.EntityTypeInfo;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import lombok.Generated;

public class BundleEntityRef {
   private final String a;
   private final String b;
   private final EntityTypeInfo c;
   private boolean d;
   private boolean e;
   private List<BundleEntityRef> f;

   public BundleEntityRef(String var1, String var2, EntityTypeInfo var3) {
      this.a = var1;
      this.b = var2;
      this.c = var3;
   }

   public String getEntityType() {
      return this.c.getTypeName();
   }

   public void markProcessed() {
      this.d = true;
   }

   public void markBroken() {
      this.e = true;
   }

   public void addReference(BundleEntityRef var1) {
      if (this.f == null) {
         this.f = new ArrayList<>();
      }

      this.f.add(var1);
   }

   @Override
   public boolean equals(Object var1) {
      if (var1 != null && this.getClass() == var1.getClass()) {
         BundleEntityRef var2 = (BundleEntityRef)var1;
         return Objects.equals(this.a, var2.a);
      } else {
         return false;
      }
   }

   @Override
   public int hashCode() {
      return Objects.hash(this.a);
   }

   @Generated
   public String getGoid() {
      return this.a;
   }

   @Generated
   public String getName() {
      return this.b;
   }

   @Generated
   public EntityTypeInfo getTypeInfo() {
      return this.c;
   }

   @Generated
   public boolean isProcessed() {
      return this.d;
   }

   @Generated
   public boolean isBroken() {
      return this.e;
   }

   @Generated
   public List<BundleEntityRef> getReferences() {
      return this.f;
   }
}
