package com.l7tech.external.assertions.gatewaymanagement.server.rest;

import com.l7tech.external.assertions.gatewaymanagement.server.rest.resource.URLAccessible;
import java.util.HashMap;
import java.util.Map;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;

public class URLAccessibleLocatorImpl implements ApplicationListener<ContextRefreshedEvent>, URLAccessibleLocator {
   private final Map<String, URLAccessible> a = new HashMap<>();

   @Override
   public URLAccessible findByEntityType(String var1) {
      return this.a.get(var1);
   }

   public void onApplicationEvent(ContextRefreshedEvent var1) {
      this.a.clear();
      this.a(var1.getApplicationContext());
   }

   private void a(ApplicationContext var1) {
      Map var2 = var1.getBeansOfType(URLAccessible.class);

      for (URLAccessible var4 : var2.values()) {
         this.a.put(var4.getResourceType(), var4);
      }
   }
}
