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.