Своя пометка в Java
Свой тип пометки описывают через @interface.
У него нет тела с логикой - только элементы, которые
компилятор сохраняет вместе с меткой. Строковый
элемент удобен для короткой подписи команды или
модуля.
Объявление метки с одним строковым полем выглядит так:
@interface Owner {
String team();
}
Перед методом указывают имя метки и значение элемента в скобках. Компилятор связывает подпись с объявлением метода:
@interface Owner {
String team();
}
class Billing {
@Owner(team = "billing")
static void chargeInvoice() {
System.out.println("charge");
}
}
Тот же тип можно повесить на класс - тогда метка относится ко всему типу, а не к одному методу:
@interface Owner {
String team();
}
@Owner(team = "platform")
class GatewayConfig {
final String endpoint;
GatewayConfig(String endpoint) {
this.endpoint = endpoint;
}
}
public class Main {
public static void main(String[] args) {
var cfg = new GatewayConfig("https://api.local");
System.out.println(cfg.endpoint);
}
}
Объявите метку с элементом layer типа
String. Повесьте её на метод записи
лога и на класс настроек очереди с одним
строковым полем. Значения слоя должны
различаться.
Создайте экземпляр класса настроек из предыдущей
задачи и выведите его строковое поле из
main.