JC13 - Lecture 04. Reflection
Mirantis Java Сourse 2013 (back)
Lecture 04. Reflection
Java Class Loaders
Практическое задание (на занятии) #1 / Домашнее задание
Необходимо реализовать класс BeanUtil со следующим функционалом (статическими методами):
properties(Object bean)- список всех property указанногоbean, например:["a", "b", "c", "d"];get(Object bean, String props)- получение значения property по имени с поддержкой вложенности, т.е.get(bean, "a/b/c/d")должен превратиться в вызовbean.getA().getB().getC().getD();set(Object bean, String props, Object value)- аналогичноgetвыставляет значение, т.е.set(bean, "a/b/c/d", "new value!")должен превратиться в вызовbean.getA().getB().getC().setD("new value!")type(Object bean, String props)- аналогичноget, но возвращает только тип поля, напримерtype(bean, "a/b/c/d")вернетclass java.lang.String.
Некоторые определения:
Java Bean- класс с private полями, как минимум конструктором по-умолчанию и геттерами-сеттерами;property- это нечто для чего есть геттер и сеттер, т.е. если есть getFoo() и setFoo(), то есть propertyfoo.