Простите меня, если это тривиально или невозможно, но у меня сегодня утром понедельник.
Я хотел бы создать метод, реализующий некоторые методы из библиотеки Gson
для загрузки некоторых объектов настроек. По сути, у меня есть куча разных объектов настроек, но я не хочу переопределять метод загрузки для каждого класса, чтобы я хотел иметь что-то вроде:
public class ConfigLoader {
public static void main(final String[] args) {
final ConfigurationSettings loadedConfigSettigs =
load("testSettings.json", ConfigurationSettings.class);
final AlternativeConfigurationSettings alternativeConfigSettigs =
load("testSettings2.json", AlternativeConfigurationSettings .class);
}
public T load(final InputStream inputStream, final Class<T> clazz) {
try {
if (inputStream != null) {
final Gson gson = new Gson();
final BufferedReader reader =
new BufferedReader(new InputStreamReader(inputStream));
return gson.fromJson(reader, clazz);
}
} catch (final Exception e) {
}
return null;
}
}
где я могу передать InputStream
и класс объекта, который я хочу вернуть. Есть ли простой способ сделать это (я не хочу создавать метод для каждого класса, который я хочу загрузить, и я не хочу создавать отдельный загрузчик для каждого класса)?