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.ContextDataDateAndTimeValueProviderConfig;
import jakarta.annotation.Nonnull;
import jakarta.inject.Inject;
import jakarta.inject.Provider;
import java.util.Date;
import lombok.NonNull;

@LogicForConfig(ContextDataDateAndTimeValueProviderConfig.class)
public class ContextDataDateAndTimeValueProvider implements ValueProvider<Date> {
   @NonNull
   private final Provider<GenericContextDataValueProvider<Date>> provider;

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

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