Galera, boa noite!
Eu tenho uma classe que é carregada à partir de um XML.
Só que eu preciso que quando o atributo no xml for omitido, ele venha como true.
Exemplo:
public class AlgumaCoisa {
private final String nome;
private final boolean algumValor; // Esse atributo, quando omitido, deve vir preenchido como true.
public AlgumaCoisa(String nome, boolean algumValor) {
this.nome = nome;
this.algumValor = algumValor;
}
private Object readResolve() {
return new AlgumaCoisa(nome, algumValor); // Assim eu garanto que ele passe pelo meu construtor, onde eu valido algumas coisas...
}
// getters
}
XMLs
<algumaCoisa><!-- assim ele vem true -->
<nome>Algum nome</nome>
</algumaCoisa>
<algumaCoisa>
<nome>Outro nome</nome>
<algumValor>false</algumValor><!-- assim ele vem false -->
</algumaCoisa>
<algumaCoisa>
<nome>Mais nome</nome>
<algumValor>true</algumValor><!-- assim é true -->
</algumaCoisa>
Eu estou o dia todo tentando fazer isso… Já pensei em usar a classe Boolean e, quando for null, eu coloco como true, mas ele sempre vem false como default.
Eu já tentei cadastrar um BooleanConverter e, quando fosse null no read.getValue(), eu retornaria null. Mas também não adiantou…