This is Parent class
public class RequestDTO implements Serializable {
private static final long serialVersionUID = 1L;
private String paymentProvider;
private Boolean isEncrypt;
public RequestDTO() {
}
public RequestDTO(String paymentProvider,
Boolean isEncrypt) {
super();
this.paymentProvider = paymentProvider;
this.isEncrypt = isEncrypt;
}
public void setPaymentProvider(String paymentProvider) {
this.paymentProvider = paymentProvider;
}
public Boolean getIsEncrypt() {
return isEncrypt;
}
public void setIsEncrypt(Boolean isEncrypt) {
if (isEncrypt == null) {
this.isEncrypt = false;
} else {
this.isEncrypt = isEncrypt;
}
}
}
Below is child class
public class CardDetailsDTO extends RequestDTO {
private static final long serialVersionUID = 1L;
private String cardNumber;
private String expiryDate;
private String cardHolderName;
private String cardType;
private String cardIssueDate;
private String cardIssueNo;
private String modifyDummyCardNumber(String cardNum) {
String dummyCardNumber ;
if (cardNum != null && !cardNum.isEmpty() && this.getIsEncrypt() != true) {
dummyCardNumber = "************" + cardNum.substring(12);
return dummyCardNumber;
} else {
return "********";
}
}
public String getCardNumber() {
return cardNumber;
}
public void setCardNumber(String cardNumber) {
this.cardNumber = cardNumber;
}
public String getExpiryDate() {
return expiryDate;
}
public void setExpiryDate(String expiryDate) {
this.expiryDate = expiryDate;
}
public String getCardHolderName() {
return cardHolderName;
}
public void setCardHolderName(String cardHolderName) {
this.cardHolderName = cardHolderName;
}
public String getCardType() {
return cardType;
}
public void setCardType(String cardType) {
this.cardType = cardType;
}
public String getCardIssueDate() {
return cardIssueDate;
}
public void setCardIssueDate(String cardIssueDate) {
this.cardIssueDate = cardIssueDate;
}
public String getCardIssueNo() {
return cardIssueNo;
}
public void setCardIssueNo(String cardIssueNo) {
this.cardIssueNo = cardIssueNo;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("CardDetailsDTO [expiryDate=");
builder.append(expiryDate);
builder.append(", cardHolderName=");
builder.append(cardHolderName);
builder.append(", cardType=");
builder.append(cardType);
builder.append(", cardIssueDate=");
builder.append(cardIssueDate);
builder.append(", cardIssueNo=");
builder.append(cardIssueNo);
builder.append(", dummyCardNumber=");
builder.append(modifyDummyCardNumber(getCardNumber()));
builder.append("]");
return builder.toString();
}
}
when I called
modifyDummyCardNumber
method inside child class toString method it throws null pointer exception because I called this.getIsEncrypt() inside modifyDummyCardNumber method if statement as showing above ,but when I sout the isEncrypt value from the parent class it shows as "true", How to use the parent class variable value in child class?