У меня действительно простой внедренный класс, который возвращает только строку, и я хотел бы обновить его, чтобы просто вставить строку, если это возможно.
public class FullEmailConstructor {
private final String userEmail;
private final String domain;
@Inject
public FullEmailConstructor(@Email String userEmail, @Domain String domain) {
this.userEmail = userEmail;
this.domain = domain;
}
public String getFullEmail() {
return String.format("%s@%s", userEmail, domain);
}
}
Это работает, как и ожидалось, что позволяет мне внедрятьFullEmailConstructor и вызовите getFullEmail, чтобы получить то, что я хочу.Но было бы лучше, если бы я мог просто вставить строку типа @FullEmail и получить результат этой функции getFullEmail ().
Пример:
Текущий
public class ConsumerClass {
private final String userEmail;
@Inject
public ConsumerClass(FullEmailConstructor fullEmailConstructor) {
this.userEmail = fullEmailConstructor.getFullEmail();
}
}
Желаемый
public class ConsumerClass {
private final String userEmail;
@Inject
public ConsumerClass(@FullEmail String fullEmail) {
this.userEmail = fullEmail;
}
}
Есть ли способ сделать это?