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

net.authorize.aim.cardpresent.PrepaidCard Maven / Gradle / Ivy

package net.authorize.aim.cardpresent;

import java.io.Serializable;

import javax.xml.bind.annotation.XmlRootElement;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
* PrepaidCard container.
*/
@XmlRootElement
public class PrepaidCard implements Serializable{
	private static final long serialVersionUID = 1L;
	private double requestedAmount = 0.0;
	private double approvedAmount = 0.0;
	private double balanceAmountOnCard = 0.0;

	private static Log logger = LogFactory.getLog(PrepaidCard.class);

	/**
    * Default C'tor
    */
	protected PrepaidCard() {

	}

	/**
	 * Create a prepaidCard.
	 *
	 * @return PrepaidCard with empty fields 
	 */
	public static PrepaidCard createPrepaidCard() {
		return new PrepaidCard();
	}

	/**
	 * Creates a populated PrepaidCard
	 * @param requestedAmount  amount requested in the transaction
	 * @param approvedAmount   amount approved in the transaction
	 * @param balanceAmountOnCard  remaining balance on the card
	 * @return PrepaidCard with fields populated
	 */
	public static PrepaidCard createPrepaidCard(
			double requestedAmount, double approvedAmount, double balanceAmountOnCard) {
		PrepaidCard prepaidCard = new PrepaidCard();
		prepaidCard.setRequestedAmount(requestedAmount);
		prepaidCard.setApprovedAmount(approvedAmount);
		prepaidCard.setBalanceAmountOnCard(balanceAmountOnCard);
		
		return prepaidCard;
	}

	/**
	 * Creates a populated PrepaidCard
	 * @param requestedAmount  amount requested in the transaction
	 * @param approvedAmount   amount approved in the transaction
	 * @param balanceAmountOnCard  remaining balance on the card
	 * @return PrepaidCard with fields populated
	 */
	public static PrepaidCard createPrepaidCard(
			String requestedAmount, String approvedAmount, String balanceAmountOnCard) {
		PrepaidCard prepaidCard = new PrepaidCard();
		prepaidCard.setRequestedAmount(requestedAmount);
		prepaidCard.setApprovedAmount(approvedAmount);
		prepaidCard.setBalanceAmountOnCard(balanceAmountOnCard);
		
		return prepaidCard;
	}
	
	/**
	 * Gets amount requested in the transaction
	 * @return amount requested in the transaction
	 */
	public double getRequestedAmount() {
		return requestedAmount;
	}

	/**
	 * Gets amount approved in the transaction
	 * @return amount approved in the transaction
	 */
	public double getApprovedAmount() {
		return approvedAmount;
	}

	/**
	 * Gets remaining balance on the card
	 * @return remaining balance on the card
	 */
	public double getBalanceAmountOnCard() {
		return balanceAmountOnCard;
	}

	/**
	 * Sets amount requested in the transaction
	 * @param requestedAmount amount requested in the transaction
	 */
	public void setRequestedAmount(double requestedAmount) {
		this.requestedAmount = requestedAmount;
	}

	/**
	 * Set amount approved in the transaction
	 * @param approvedAmount amount approved in the transaction
	 */
	public void setApprovedAmount(double approvedAmount) {
		this.approvedAmount = approvedAmount;
	}
	
	/**
	 * Sets remaining balance on the card
	 * @param balanceAmountOnCard remaining balance on the card
	 */
	public void setBalanceAmountOnCard(double balanceAmountOnCard) {
		this.balanceAmountOnCard = balanceAmountOnCard;
	}

	//overloaded utility methods
	/**
	 * Sets amount requested in the transaction
	 * @param requestedAmount amount requested in the transaction
	 */
	public void setRequestedAmount(String requestedAmount) {
		this.requestedAmount = net.authorize.util.StringUtils.parseDouble(requestedAmount);
	}

	/**
	 * Set amount approved in the transaction
	 * @param approvedAmount amount approved in the transaction
	 */
	public void setApprovedAmount(String approvedAmount) {
		this.approvedAmount = net.authorize.util.StringUtils.parseDouble(approvedAmount);
	}

	/**
	 * Sets remaining balance on the card
	 * @param balanceAmountOnCard remaining balance on the card
	 */
	public void setBalanceAmountOnCard(String balanceAmountOnCard) {
		this.balanceAmountOnCard = net.authorize.util.StringUtils.parseDouble(balanceAmountOnCard);
	}
	
	public String toString() {
		 StringBuilder builder = new StringBuilder();
		 builder.append("PrepaidCard:");
		 builder.append(" RequestedAmount: ").append(this.requestedAmount);
		 builder.append(",ApprovedAmount: ").append(this.approvedAmount);
		 builder.append(",BalanceAmountOnCard: ").append(this.balanceAmountOnCard);		 
		 
	     return builder.toString();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy