добавлять в него компоненты через метод <T> void put(Class<T> cl, t T) {} и тогда можно будет обойтись без кастов и забирать компоненты просто вытаскивая из этой мапы по классу, заодно кастуя там же сразу T get(Class<T> cl) {(T)map.get(cl)}
а если несколько компонентов? Выходит: <T> void put(Class<T> cl, t List<T>) {} + поиск нужного... Но подумать можно
Обсуждают сегодня