/* * Copyright (c) 2009, 2011, 2012, 2015 Eike Stepper (Berlin, Germany) and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Eike Stepper - initial API and implementation */ package org.eclipse.net4j.util.collection; import java.util.HashMap; import java.util.Map; /** * @author Eike Stepper * @since 2.0 * @deprecated As of 3.6 use {@link BidiMap}. */ @Deprecated public class BidiMapper<T1, T2> { private Map<T1, T2> map1 = new HashMap<T1, T2>(); private Map<T2, T1> map2 = new HashMap<T2, T1>(); public BidiMapper() { } public synchronized void map(T1 v1, T2 v2) { map1.put(v1, v2); map2.put(v2, v1); } public synchronized int size() { return map1.size(); } public synchronized void clear() { map1.clear(); map2.clear(); } public synchronized T2 lookup1(T1 v1) { return map1.get(v1); } public synchronized T1 lookup2(T2 v2) { return map2.get(v2); } public synchronized boolean remove1(T1 v1) { T2 v2 = map1.remove(v1); if (v2 != null) { map2.remove(v2); return true; } return false; } public synchronized boolean remove2(T2 v2) { T1 v1 = map2.remove(v2); if (v1 != null) { map1.remove(v1); return true; } return false; } }