У меня есть ввод (JSF), который должен быть привязан к свойству в моем компоненте. Это свойство представляет собой другой bean-компонент и имеет вспомогательный метод, проверяющий, является ли он нулевым (я часто использую этот метод).
Проблема в том, что привязка не может получить правильный геттер и сеттер. Вместо того, чтобы читать метод, который возвращает bean-компонент, он читает тот, который возвращает логическое значение.
Имя свойства — guest. Методы:
- получитьГость;
- установитьГость;
- isGuest (проверяет, является ли гость нулевым).
JSF пытается связать объект с isGuest и setGuest вместо getGuest и setGuest.
Я не могу переименовать isGuest в guestIsNull или что-то в этом роде, потому что это не имеет особого смысла (см. класс ниже).
Наконец, мой вопрос: как я могу привязать это свойство к объекту, не переименовывая свои методы? Возможно ли это?
Я также принимаю предложения по лучшему названию метода (но смысл должен быть таким же).
Объект
@Entity
public class Passenger {
private Employee employee;
private Guest guest;
public Passenger() {
}
@Transient
public boolean isEmployee() {
return null != this.employee;
}
@Transient
public boolean isGuest() {
return null != this.guest;
}
@OneToOne
public Employee getEmployee() {
return this.employee;
}
public void setEmployee(Employee employee) {
this.employee = employee;
}
@OneToOne
public Guest getGuest() {
return this.guest;
}
public void setGuest(Guest guest) {
this.guest = guest;
}
}
JSF
<h:inputText value="#{passenger.employee}" />
<h:inputText value="#{passenger.guest}" />