package com.enactor.training.paymentService.service.messages.gcash;

import java.util.Date;
import java.util.List;

import com.enactor.core.entities.IEntity;
import com.enactor.core.entities.PropertyValidationException;

/**
 * Add comments for the PaymentView entity interface here
 */
public interface IPaymentView extends IEntity {

	
	/**
	 * Set the CashierRequestId
	 *
	 * @param cashierRequestId
	 * @throws PropertyValidationException
	 */
	public void setCashierRequestId(String cashierRequestId) throws PropertyValidationException;
	
	/**
	 * Get the CashierRequestId
	 *
	 * @return cashierRequestId
	 */
	public String getCashierRequestId();
	
	
	/**
	 * Set the ExtendInfo
	 *
	 * @param extendInfo
	 * @throws PropertyValidationException
	 */
	public void setExtendInfo(String extendInfo) throws PropertyValidationException;
	
	/**
	 * Get the ExtendInfo
	 *
	 * @return extendInfo
	 */
	public String getExtendInfo();
	
	
	/**
	 * Set the PaidTime
	 *
	 * @param paidTime
	 * @throws PropertyValidationException
	 */
	public void setPaidTime(Date paidTime) throws PropertyValidationException;
	
	/**
	 * Get the PaidTime
	 *
	 * @return paidTime
	 */
	public Date getPaidTime();
	
	
	/**
	 * Set the PayOptionInfos
	 *
	 * @param payOptionInfos
	 * @throws PropertyValidationException
	 */
	public void setPayOptionInfos(List<PayOptionInfo> payOptionInfos) throws PropertyValidationException;
	
	/**
	 * Get the PayOptionInfos
	 *
	 * @return payOptionInfos
	 */
	public List<PayOptionInfo> getPayOptionInfos();
	
	
	/**
	 * Set the PayRequestExtendInfo
	 *
	 * @param payRequestExtendInfo
	 * @throws PropertyValidationException
	 */
	public void setPayRequestExtendInfo(String payRequestExtendInfo) throws PropertyValidationException;
	
	/**
	 * Get the PayRequestExtendInfo
	 *
	 * @return payRequestExtendInfo
	 */
	public String getPayRequestExtendInfo();
	
	
}
