public class DateValidator
extends java.lang.Object
ExpirationDateEditText to
make testing easier.| Modifier and Type | Field and Description |
|---|---|
private static DateValidator |
INSTANCE |
static int |
MAXIMUM_VALID_YEAR_DIFFERENCE
Maximum amount of years in advance that a credit card expiration date should be trusted to be
valid.
|
private java.util.Calendar |
mCalendar |
| Modifier | Constructor and Description |
|---|---|
protected |
DateValidator(java.util.Calendar calendar)
Used in tests to inject a custom
Calendar to stabilize dates. |
| Modifier and Type | Method and Description |
|---|---|
private int |
getCurrentMonth()
Calendar.MONTH is 0-prefixed. |
private int |
getCurrentTwoDigitYear()
Calendar.YEAR is the full, 4-digit year. |
static boolean |
isValid(java.lang.String month,
java.lang.String year)
Helper for determining whether a date is a valid credit card expiry date.
|
protected boolean |
isValidHelper(java.lang.String monthString,
java.lang.String yearString)
Is valid helper boolean.
|
public static final int MAXIMUM_VALID_YEAR_DIFFERENCE
MAXIMUM_VALID_YEAR_DIFFERENCE, it should still
be trusted to be valid client-side.private static final DateValidator INSTANCE
private final java.util.Calendar mCalendar
protected DateValidator(java.util.Calendar calendar)
Calendar to stabilize dates. Normal usage will just
delegate to the actual date.calendar - the calendarpublic static boolean isValid(java.lang.String month,
java.lang.String year)
month - Two-digit monthyear - Two or four digit yearprotected boolean isValidHelper(java.lang.String monthString,
java.lang.String yearString)
monthString - the month stringyearString - the year stringprivate int getCurrentMonth()
Calendar.MONTH is 0-prefixed. Add 1 to align it with visualized expiration
dates.private int getCurrentTwoDigitYear()
Calendar.YEAR is the full, 4-digit year. Take the trailing two digits to align it
with visualized expiration dates.