public class PhoneNumber {
private final String number1;
private final String number2;
private final String number3;
}
// 일반 전화번호가 필요한 화면에서의 출력 객체 - 고객센터 화면에서는 전화번호가 보여야함
public class NormalResponse {
private final String printString;
public NormalResponse(final PhoneNumber phoneNumber) {
printString = String.format("%s-%s-%s", phoneNumber.getNumber1(), phoneNumber.getNumber2(), phoneNumber.getNumber3());
}
}
// 가운데 자리수가 마스킹된 전화번호가 필요한 화면에서의 출력 객체 - 일반 웹에서는 전화번호가 모두 노출되면 안됨
public class MaskedResponse {
private final String printString;
public MaskedResponse(final PhoneNumber phoneNumber) {
printString = String.format("%s-****-%s", phoneNumber.getNumber1(), phoneNumber.getNumber3());
}
}
// 국제번호가 필요한 전화번호가 필요한 화면에서의 출력 객체 - 외국인이 들어오는 페이지에는 국제번호가 보여야 됨
public class InternationalResponse {
private final String printString;
public InternationalResponse(final String internationalNumber, final PhoneNumber phoneNumber) {
printString = String.format("%s-%s-%s-%s", internationalNumber, phoneNumber.getNumber1(), phoneNumber.getNumber2(), phoneNumber.getNumber3());
}
}