Quero ver se entendi corretamente......
Eu poderia criar uma classe CPF e trata-la como um VO e nela colocar as validações com respeito ao CPF?
Por exemplo: CPF.java:
package br.com.alura.codechella.domain;
public class CPF {
public String document;
public CPF(String document){
if (document == null || !document.matches("\\d{3}\\.\\d{3}\\.\\d{3}\\-\\d{2}")) {
throw new IllegalArgumentException("Cpf no padrão incorreto!");
}
this.document = document;
}
public String getDocument() {
return document;
}
public void setDocument(String document) {
this.document = document;
}
}
Usuario:
package br.com.alura.codechella.domain.entities.usuario;
import br.com.alura.codechella.domain.CPF;
import br.com.alura.codechella.domain.Endereco;
import java.time.LocalDate;
public class Usuario {
private CPF cpf;
......
public Usuario(String cpf, String nome, LocalDate nascimento, String email) {
this.cpf=new CPF(cpf);
this.nome = nome;
this.nascimento = nascimento;
this.email = email;
}
public CPF getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf=new CPF(cpf);
}
Essa classe CPF, seria um VO ou uma Entidade? Valeuuu