package com.airlock.iam.plugin.framework.domain.model;

import com.google.common.base.Preconditions;
import java.util.List;

public class MedusaConfiguration {
   private final MedusaConfigurationElement configurationElement;

   public MedusaConfiguration(MedusaConfigurationElement configurationElement) {
      this.configurationElement = (MedusaConfigurationElement)Preconditions.checkNotNull(configurationElement);
   }

   public MedusaConfigurationElement getConfigurationElement() {
      return this.configurationElement;
   }

   public List<Plugin> getToplevelPlugins() {
      return this.configurationElement.getToplevelPlugins();
   }

   public void visitAllAndReport(MedusaConfiguration.MedusaConfigurationWalker callback) {
      callback.instanceConfig(this.configurationElement);
   }

   public interface MedusaConfigurationWalker {
      void instanceConfig(MedusaConfigurationElement var1);
   }
}
