All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.codearte.jfairy.producer.payment.CreditCard Maven / Gradle / Ivy

There is a newer version: 0.5.9
Show newest version
package io.codearte.jfairy.producer.payment;

import io.codearte.jfairy.data.DataMaster;
import io.codearte.jfairy.producer.DateProducer;
import org.joda.time.DateTime;
import org.joda.time.Period;

import javax.inject.Inject;

/**
 * @author [email protected]
 * @since 2013-11-17
 */
public class CreditCard {

	private static final Period DEFAULT_VALIDITY = Period.months(36);
	private static final String DATA_KEY = "cardVendors";

	private final DataMaster dataMaster;
	private final DateProducer dateProducer;
	private String cardVendor;
	private DateTime expiryDate;

	@Inject
	public CreditCard(DataMaster dataMaster, DateProducer dateProducer) {
		this.dataMaster = dataMaster;
		this.dateProducer = dateProducer;
		generate();
	}

	public final void generate() {
		cardVendor = dataMaster.getRandomValue(DATA_KEY);
		expiryDate = dateProducer.randomDateBetweenNowAndFuturePeriod(DEFAULT_VALIDITY);
	}

	public String vendor() {
		return cardVendor;
	}

	public DateTime expiryDate() {
		return expiryDate;
	}

	public String expiryDateAsString() {
		return String.format("%02d/%02d", expiryDate.getMonthOfYear(), expiryDate.getYearOfCentury());
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy