001package scpc.model; 002 003import java.io.Serializable; 004import java.util.Objects; 005 006/** 007 * Represent current visit item as bonus. 008 * <br>表示當下走访的品項就是優惠品項 009 * 010 * @author Kent Yeh 011 */ 012public class CurrentItem implements IItem { 013 014 private static final CurrentItem CI = new CurrentItem(); 015 016 public static CurrentItem getInstance() { 017 return CI; 018 } 019 020 private CurrentItem() { 021 } 022 023 @Override 024 public Serializable getIdentity() { 025 return "CurrentItem"; 026 } 027 028 @Override 029 public CurrentItem as() { 030 return this; 031 } 032 033 @Override 034 public long getQuantity() { 035 return 1; 036 } 037 038 @Override 039 public void setQuantity(long quantity) { 040 041 } 042 043 @Override 044 public double getSalePrice() { 045 return 0; 046 } 047 048 @Override 049 public double getRegularPrice() { 050 return 0; 051 } 052 053 @Override 054 public boolean equals(Object obj) { 055 if (this == obj) { 056 return true; 057 } 058 if (obj == null) { 059 return false; 060 } 061 if (getClass() != obj.getClass()) { 062 return false; 063 } 064 final CurrentItem other = (CurrentItem) obj; 065 return Objects.equals(getIdentity(), other.getIdentity()); 066 } 067 068 @Override 069 public int hashCode() { 070 return "6d0c40fb-e3a1-49d7-bcfd-b60efb0f08d0".hashCode(); 071 } 072 073 public static boolean isCurrent(Object obj) { 074 return CI.hashCode() == obj.hashCode(); 075 } 076 077}