package com.airlock.iam.flow.shared.domain.model.valueprovider;

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.domain.model.valueprovider.EntryFromMapValueProviderSettings;
import com.airlock.iam.flow.shared.application.configuration.valueprovider.StringFromMapValueProviderConfig;
import jakarta.inject.Inject;
import jakarta.inject.Provider;
import java.util.Objects;

@LogicForConfig(StringFromMapValueProviderConfig.class)
public class StringFromMapValueProvider extends EntryFromMapValueProvider implements ValueProvider<String> {
   @Inject
   protected StringFromMapValueProvider(Provider<ValueMapProviderList> valueMapProviderList, Provider<EntryFromMapValueProviderSettings> settings) {
      super(valueMapProviderList, settings);
   }

   public String getValue() {
      return Objects.toString(this.getValueMapEntry(), null);
   }
}
