package com.airlock.iam.common.domain.model.valueprovider.contextdata;

import com.airlock.iam.base.api.domain.model.plugin.LogicForConfig;
import com.airlock.iam.common.api.domain.model.valueprovider.ValueProvider;
import com.airlock.iam.common.application.configuration.valueprovider.contextdata.ContextDataBooleanValueProviderConfig;
import jakarta.annotation.Nonnull;
import jakarta.inject.Inject;
import jakarta.inject.Provider;
import lombok.NonNull;

@LogicForConfig(ContextDataBooleanValueProviderConfig.class)
public class ContextDataBooleanValueProvider implements ValueProvider<Boolean> {
   @NonNull
   private final Provider<GenericContextDataValueProvider<Boolean>> provider;

   @Inject
   public ContextDataBooleanValueProvider(@Nonnull Provider<GenericContextDataValueProvider<Boolean>> provider) {
      this.provider = provider;
   }

   public Boolean getValue() {
      return (Boolean)((GenericContextDataValueProvider)this.provider.get()).getValue();
   }
}
