Replace de variáveis no estilo BeanUtils

0 respostas
fcoury
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?
Criado 24 de setembro de 2008
Respostas 0
Participantes 1