Back to project page Grocery-Mate.
The source code is released under:
Apache License
If you think the Android project Grocery-Mate listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/* * Copyright (C) 2011 iMellon//from w w w . ja v a2s . com * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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. */ package com.imellon.android.grocerymate.cache; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.HashMap; import com.imellon.android.grocerymate.model.CompanyPoiPriceList; import com.imellon.android.grocerymate.model.Product; /** * @author Christos Papazafeiropoulos, Dimitris Makris */ public class MemoryCache { private static final MemoryCache instance = new MemoryCache(); private Map<String, Product> basket; private Map<String, CompanyPoiPriceList> product_prices; private MemoryCache() { basket = Collections.synchronizedMap(new HashMap<String, Product>()); product_prices = Collections .synchronizedMap(new HashMap<String, CompanyPoiPriceList>()); } public static MemoryCache getInstance() { return instance; } public synchronized Product getProduct(String id) { if (!basket.containsKey(id)) return null; else return basket.get(id); } public synchronized void putProduct(String id, Product p) { basket.put(id, p); } public synchronized void removeProduct(String id) { basket.remove(id); } public synchronized void clearProducts() { basket.clear(); } public synchronized List<Product> getAllProducts() { final ArrayList<Product> p = new ArrayList<Product>(); for (Product x : basket.values()) { p.add(x); } return p; } public synchronized CompanyPoiPriceList getCompanyPoiPriceList(String id) { if (!product_prices.containsKey(id)) return null; else return product_prices.get(id); } public synchronized void putCompanyPoiPriceList(String id, CompanyPoiPriceList p) { product_prices.put(id, p); } public synchronized void removeCompanyPoiPriceList(String id) { product_prices.remove(id); } public synchronized void clearCompanyPoiPriceLists() { product_prices.clear(); } }