Значение впрыска, рассчитанное при впрыске - PullRequest
0 голосов
/ 15 февраля 2019

У меня действительно простой внедренный класс, который возвращает только строку, и я хотел бы обновить его, чтобы просто вставить строку, если это возможно.

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;
  }
}

Есть ли способ сделать это?

...