Содержание
- Введение в Reflection
- Идентификаторы типов (type tokens)
- Информация о типе
- Структура класса
- Поля
- Получение информации
- Чтение и запись значений
- Методы и конструкторы
- Получение информации
- Вызов методов
- Создание объектов
- Вложенные классы
- Массивы
- Загрузка классов
- Загрузчики классов
- Иерархия загрузчиков
- Доступ к ресурсам
- Параметры типов
- Интерфейс Type и его потомки
- Generic-массивы
- Посредники
- Создание посредников
- Обработчики вызовов
- Применение посредников
Домашнее задание 4. Implementor
-
Реализуйте класс
Implementor
,
генерирующий реализации классов и интерфейсов.
-
Аргумент командной строки: полное имя класса/интерфейса, для
которого требуется сгенерировать реализацию.
-
В результате работы должен быть сгенерирован java-код класса с суффиксом
Impl
, расширяющий (реализующий) указанный класс (интерфейс).
-
Сгенерированный класс должен компилироваться без ошибок.
-
Сгенерированный класс не должен быть абстрактным.
-
Методы сгенерированного класса должны игнорировать свои аргументы и
возвращать значения по умолчанию.
-
В задании выделяются три варианта:
- Простой —
Implementor
должен уметь реализовывать
только интерфейсы (но не классы). Поддержка generics не требуется.
- Сложный —
Implementor
должен уметь реализовывать
и классы, и интерфейсы. Поддержка generics не требуется.
- Бонусный —
Implementor
должен уметь реализовывать
generic-классы и интерфейсы. Сгенерированный код должен иметь
корректные параметры типов и не порождать UncheckedWarning
.