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.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ResolverBundleComplexEntityMappings extends ResolverBundleEntityMappings {
   private final List<EntityMappingInstruction> a = Collections.singletonList(this.defaultMapping);
   private Map<String, List<EntityMappingInstruction>> b;

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

   @Override
   public List<EntityMappingInstruction> getMappingsByValue(String var1) {
      if (this.mappings.isEmpty()) {
         return this.a;
      }

      if (this.b == null) {
         this.b = new HashMap<>();
         this.mappings.forEach(var1x -> {
            List var2 = this.b.computeIfAbsent(var1x.getIdentityValue(), var0 -> new ArrayList<>());
            var2.add(var1x);
         });
      }

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

   @Override
   public EntityMappingInstruction getMappingByValue(String var1) {
      return this.getMappingsByValue(var1).get(0);
   }
}
