Я пытаюсь передать класс как значение в хэш-карте. Мне нужно получить класс (значение), используя определенный ключ, и создать экземпляр объекта для полученного класса. но для создания объекта мне нужно передать параметры.
Мой поток идет сюда, когда я вызываю метод getExpo из другого класса, передавая значение ключа. используя значение ключа, мне нужно получить правильный класс, и с помощью этого класса нужно создать экземпляр объекта и вернуть объект. Чтобы создать объект, мне нужно передать аргументы, так как класс не имеет конструкторов по умолчанию.
Цель этой процедуры в будущем, мне нужно добавить еще один ключ, значение пары, я не должен делать никаких изменений........ реализация одинакова для всех классов, т.е. создание объекта
Мой класс идет сюда
public class ExampleFactory {
static {
HashMap<String,Class<?>> hmap = new HashMap<String,Class<?>>();
hmap.put("jxpath", JXPathExpression.class);
hmap.put("spel", SpelExpression.class);
}
public Predicate getExpo(String key,String expression) {
// Need to get the class using key value and instantiate the object for the class
// but i need to pass parameters in order to create the object.something like this
//JXPathExpression object = new JXPathExpression(expression);
return null;
}
}