لا يحتوي العمل على صور
تفاصيل العمل

// Card.java import java.time.LocalDate; public class Card { private final String id; // UUID or unique id private String holderName; private String maskedNumber; // e.g. **** **** **** 1234 private String last4; private LocalDate expiry; // MM/YYYY -> store as LocalDate or YearMonth private CardType type; private boolean active; public Card(String id, String holderName, String fullNumber, LocalDate expiry, CardType type) { this.id = id; this.holderName = holderName; this.expiry = expiry; this.type = type; this.last4 = extractLast4(fullNumber); this.maskedNumber = maskNumber(fullNumber); this.active = true; } private static String extractLast4(String fullNumber) { String digits = fullNumber.replaceAll("\\s+", ""); if (digits.length() >= 4) return digits.substring(digits.length() - 4); return digits; } private static String maskNumber(String fullNumber) { String digits = fullNumber.replaceAll("\\s+", ""); int len = digits.length(); if (len <= 4) return digits; StringBuilder sb = new StringBuilder(); for (int i = 0; i < len - 4; i++) { if ((i % 4) == 0 && i != 0) sb.append(' '); sb.append('*'); } sb.append(' '); sb.append(digits.substring(len - 4)); return sb.toString(); } // getters & setters public String getId() { return id; } public String getHolderName() { return holderName; } public void setHolderName(String holderName) { this.holderName = holderName; } public String getMaskedNumber() { return maskedNumber; } public String getLast4() { return last4; } public LocalDate getExpiry() { return expiry; } public void setExpiry(LocalDate expiry) { this.expiry = expiry; } public CardType getType() { return type; } public void setType(CardType type) { this.type = type; } public boolean isActive() { return active; } public void setActive(boolean active) { this.active = active; } @Override public String toString() { return "Card{id='" + id + "', holder='" + holderName + "', number='" + maskedNumber + "', expiry=" + expiry + ", type=" + type + ", active=" + active + "}"; } }

شارك
بطاقة العمل
تاريخ النشر
منذ 6 أيام
المشاهدات
6
القسم
المستقل
طلب عمل مماثل
شارك
مركز المساعدة