Я пытаюсь создать сервер хранения, который будет принимать составные данные и загружать их в mongodb или файловую систему. Я создал 2 класса с одинаковыми методами, и теперь я хочу запустить свое приложение только с инициализированным 1 экземпляром, это может быть либо mongodb, либо файловая система, основанная на условии из переменной среды.
Я пробовал фабричный шаблон проектированияно я не смог ее решить.
Допустим, у нас есть 3 класса Mongo, Файловая система и Upload
public class Mongo{
public void upload(MultipartFile file){
// Code to upload to mongodb
}
}
public class Filesystem{
public void upload(MultipartFile file){
// Code to upload to Filesystem
}
}
public class Upload{
private T t;
Upload(@Value("somevalue") String value){
if value.equals("Mongo") this.t = new Mongo();
else value.equals("Filesystem") this.t = new Filesystem();
}
String void uploadFile(){
t.upload(file);
}
}
В этом случае T может быть только Mongo илиФайловая система, и у них обоих одинаковый метод с одинаковыми параметрами.