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

import com.l7tech.external.assertions.gatewaygraphql.EntityTypeInfo;
import com.l7tech.external.assertions.gatewaygraphql.server.data.EntityMappingAction;
import com.l7tech.external.assertions.gatewaygraphql.server.data.EntityMappingInstruction;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ResolverBundleSimpleEntityMappings extends ResolverBundleEntityMappings {
   private Map<String, EntityMappingInstruction> a;

   public ResolverBundleSimpleEntityMappings(EntityMappingAction var1, List<Map<String, Object>> var2) {
      this(EntityTypeInfo.NONE, var1, var2);
   }

   public ResolverBundleSimpleEntityMappings(EntityTypeInfo var1, EntityMappingAction var2, List<Map<String, Object>> var3) {
      super(var1, var2, var3);
   }

   @Override
   public List<EntityMappingInstruction> getMappingsByValue(String var1) {
      return Collections.singletonList(this.getMappingByValue(var1));
   }

   @Override
   public EntityMappingInstruction getMappingByValue(String var1) {
      if (this.mappings.isEmpty()) {
         return this.defaultMapping;
      }

      if (this.a == null) {
         this.a = new HashMap<>();
         this.mappings.forEach(var1x -> this.a.put(var1x.getIdentityValue(), var1x));
      }

      return this.a.getOrDefault(var1, this.defaultMapping);
   }
}
