package com.airlock.iam.sensitivevalues.application.service;

import java.util.List;
import java.util.Optional;
import java.util.Properties;

public interface SensitiveValuesProvider {
   default void initialize(FileLocationResolver fileLocationResolver, Properties properties) {
   }

   void setSensitiveValue(String var1, String var2);

   void deleteSensitiveValue(String var1);

   Optional<String> getSensitiveValue(String var1);

   List<String> getAllDefinedKeys();

   class SensitiveValuesProviderException extends RuntimeException {
      public SensitiveValuesProviderException(String message) {
         super(message);
      }

      public SensitiveValuesProviderException(Throwable cause) {
         super(cause);
      }
   }
}
