Eu estou procurando alguma biblioteca pronta que faça replaces em strings usando propriedades no estilo do BeanUtils. Imagine então que você tem a String abaixo:
String s = "O nome do usuário é ${user.name} e seu endereço é ${user.address.street}, ${user.address.number} - ${user.address.city} / ${user.address.state}";
E você tenha as classes:
public class User {
private String name;
private Address address;
// (...)
public String getName() { return name; }
public Address getAddress() { return address; }
}
public class Address {
private String street;
private int number;
private String city;
private String state;
public String getStreet() { return street; }
public int getNumber() { return number; }
// outros getters...
}
Assumindo que temos uma instância de User na mão, sei que é possível, através da Apache BeanUtils, pegar a rua do usuário através de BeanUtils.getBeanProperty(user, "address.street"). Gostaria de saber se existe alguma biblioteca pronta que faça o seguinte:
String s = "O nome do usuário é ${user.name} e seu endereço é ${user.address.street}, ${user.address.number} - ${user.address.city} / ${user.address.state}";
System.out.println(BeanUtilsReplacer.replaceString(s, user));
Alguma dica?