| /* |
| * Copyright (C) 2010 ZXing authors |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| /* |
| * These authors would like to acknowledge the Spanish Ministry of Industry, |
| * Tourism and Trade, for the support in the project TSI020301-2008-2 |
| * "PIRAmIDE: Personalizable Interactions with Resources on AmI-enabled |
| * Mobile Dynamic Environments", led by Treelogic |
| * ( http://www.treelogic.com/ ): |
| * |
| * http://www.piramidepse.com/ |
| */ |
| |
| package com.google.zxing.client.result; |
| |
| import java.util.Hashtable; |
| |
| /** |
| * @author Antonio Manuel Benjumea Conde, Servinform, S.A. |
| * @author AgustÃn Delgado, Servinform, S.A. |
| */ |
| public class ExpandedProductParsedResult extends ParsedResult { |
| |
| public static final String KILOGRAM = "KG"; |
| public static final String POUND = "LB"; |
| |
| private final String productID; |
| private final String sscc; |
| private final String lotNumber; |
| private final String productionDate; |
| private final String packagingDate; |
| private final String bestBeforeDate; |
| private final String expirationDate; |
| private final String weight; |
| private final String weightType; |
| private final String weightIncrement; |
| private final String price; |
| private final String priceIncrement; |
| private final String priceCurrency; |
| // For AIS that not exist in this object |
| private final Hashtable uncommonAIs; |
| |
| ExpandedProductParsedResult() { |
| super(ParsedResultType.PRODUCT); |
| this.productID = ""; |
| this.sscc = ""; |
| this.lotNumber = ""; |
| this.productionDate = ""; |
| this.packagingDate = ""; |
| this.bestBeforeDate = ""; |
| this.expirationDate = ""; |
| this.weight = ""; |
| this.weightType = ""; |
| this.weightIncrement = ""; |
| this.price = ""; |
| this.priceIncrement = ""; |
| this.priceCurrency = ""; |
| this.uncommonAIs = new Hashtable(); |
| } |
| |
| public ExpandedProductParsedResult(String productID, String sscc, |
| String lotNumber, String productionDate, String packagingDate, |
| String bestBeforeDate, String expirationDate, String weight, |
| String weightType, String weightIncrement, String price, |
| String priceIncrement, String priceCurrency, Hashtable uncommonAIs) { |
| super(ParsedResultType.PRODUCT); |
| this.productID = productID; |
| this.sscc = sscc; |
| this.lotNumber = lotNumber; |
| this.productionDate = productionDate; |
| this.packagingDate = packagingDate; |
| this.bestBeforeDate = bestBeforeDate; |
| this.expirationDate = expirationDate; |
| this.weight = weight; |
| this.weightType = weightType; |
| this.weightIncrement = weightIncrement; |
| this.price = price; |
| this.priceIncrement = priceIncrement; |
| this.priceCurrency = priceCurrency; |
| this.uncommonAIs = uncommonAIs; |
| } |
| |
| public boolean equals(Object o){ |
| if (!(o instanceof ExpandedProductParsedResult)) { |
| return false; |
| } |
| |
| ExpandedProductParsedResult other = (ExpandedProductParsedResult)o; |
| |
| return this.productID.equals( other.productID) |
| && this.sscc.equals( other.sscc) |
| && this.lotNumber.equals( other.lotNumber) |
| && this.productionDate.equals( other.productionDate) |
| && this.bestBeforeDate.equals( other.bestBeforeDate) |
| && this.expirationDate.equals( other.expirationDate) |
| && this.weight.equals( other.weight) |
| && this.weightType.equals( other.weightType) |
| && this.weightIncrement.equals( other.weightIncrement) |
| && this.price.equals( other.price) |
| && this.priceIncrement.equals( other.priceIncrement) |
| && this.priceCurrency.equals( other.priceCurrency) |
| && this.uncommonAIs.equals( other.uncommonAIs); |
| } |
| |
| public int hashCode(){ |
| int hash1 = this.productID.hashCode(); |
| hash1 = 31 * hash1 + this.sscc.hashCode(); |
| hash1 = 31 * hash1 + this.lotNumber.hashCode(); |
| hash1 = 31 * hash1 + this.productionDate.hashCode(); |
| hash1 = 31 * hash1 + this.bestBeforeDate.hashCode(); |
| hash1 = 31 * hash1 + this.expirationDate.hashCode(); |
| hash1 = 31 * hash1 + this.weight.hashCode(); |
| |
| int hash2 = this.weightType.hashCode(); |
| hash2 = 31 * hash2 + this.weightIncrement.hashCode(); |
| hash2 = 31 * hash2 + this.price.hashCode(); |
| hash2 = 31 * hash2 + this.priceIncrement.hashCode(); |
| hash2 = 31 * hash2 + this.priceCurrency.hashCode(); |
| hash2 = 31 * hash2 + this.uncommonAIs.hashCode(); |
| return hash1 ^ hash2; |
| } |
| |
| public String getProductID() { |
| return productID; |
| } |
| |
| public String getSscc() { |
| return sscc; |
| } |
| |
| public String getLotNumber() { |
| return lotNumber; |
| } |
| |
| public String getProductionDate() { |
| return productionDate; |
| } |
| |
| public String getPackagingDate() { |
| return packagingDate; |
| } |
| |
| public String getBestBeforeDate() { |
| return bestBeforeDate; |
| } |
| |
| public String getExpirationDate() { |
| return expirationDate; |
| } |
| |
| public String getWeight() { |
| return weight; |
| } |
| |
| public String getWeightType() { |
| return weightType; |
| } |
| |
| public String getWeightIncrement() { |
| return weightIncrement; |
| } |
| |
| public String getPrice() { |
| return price; |
| } |
| |
| public String getPriceIncrement() { |
| return priceIncrement; |
| } |
| |
| public String getPriceCurrency() { |
| return priceCurrency; |
| } |
| |
| public Hashtable getUncommonAIs() { |
| return uncommonAIs; |
| } |
| |
| public String getDisplayResult() { |
| return productID; |
| } |
| } |