import java.util.Objects;
/**
- * A utilities class for receipts
+ * A utilities class for receipt items
*
* @author Roland Häder<roland@mxchange.org>
*/
*/
private static final long serialVersionUID = 2_867_938_676_165_402L;
+ /**
+ * Copies all fields from source entity to target entity. An exception might
+ * be thrown when both instances are the same.
+ * <p>
+ * @param sourceReceiptItem Source receipt item instance
+ * @param targetReceiptItem Target receipt item instance
+ */
+ public static void copyReceiptItemData (final BillableReceiptItem sourceReceiptItem, final BillableReceiptItem targetReceiptItem) {
+ // Check parameter
+ if (null == sourceReceiptItem) {
+ // Throw NPE
+ throw new NullPointerException("sourceReceiptItem is null"); //NOI18N
+ } else if (null == targetReceiptItem) {
+ // Throw NPE
+ throw new NullPointerException("targetReceiptItem is null"); //NOI18N
+ } else if (Objects.equals(sourceReceiptItem, targetReceiptItem)) {
+ // Throw IAE
+ throw new IllegalArgumentException("sourceReceiptItem and targetReceiptItem are the same."); //NOI18N
+ }
+
+ // Copy all fields
+ sourceReceiptItem.setItemBrandName(targetReceiptItem.getItemBrandName());
+ sourceReceiptItem.setItemCouponNumber(targetReceiptItem.getItemCouponNumber());
+ sourceReceiptItem.setItemEntryCreated(targetReceiptItem.getItemEntryCreated());
+ sourceReceiptItem.setItemEntryUpdated(targetReceiptItem.getItemEntryUpdated());
+ sourceReceiptItem.setItemGrossPrice(targetReceiptItem.getItemGrossPrice());
+ sourceReceiptItem.setItemId(targetReceiptItem.getItemId());
+ sourceReceiptItem.setItemIsDiscount(targetReceiptItem.getItemIsDiscount());
+ sourceReceiptItem.setItemIsRefund(targetReceiptItem.getItemIsRefund());
+ sourceReceiptItem.setItemManufacturer(targetReceiptItem.getItemManufacturer());
+ sourceReceiptItem.setItemNetPrice(targetReceiptItem.getItemNetPrice());
+ sourceReceiptItem.setItemNumber(targetReceiptItem.getItemNumber());
+ sourceReceiptItem.setItemProduct(targetReceiptItem.getItemProduct());
+ sourceReceiptItem.setItemProductQuantity(targetReceiptItem.getItemProductQuantity());
+ sourceReceiptItem.setItemReceipt(targetReceiptItem.getItemReceipt());
+ sourceReceiptItem.setItemTaxRate(targetReceiptItem.getItemTaxRate());
+ }
+
/**
* Checks if both receipt items are the same by assigned receipt, product
* and quantity.