package fr.inria.atlanmod.neo4emf.drivers; /** * Copyright (c) 2013 Atlanmod INRIA LINA Mines Nantes * 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: * Atlanmod INRIA LINA Mines Nantes - initial API and implementation * Descritpion ! To come * @author Amine BENELALLAM * */ import java.util.Map; import org.eclipse.emf.ecore.EClass; import com.google.common.cache.Cache; import fr.inria.atlanmod.neo4emf.INeo4emfObject; public interface IProxyManager { /** * Put an EObject into the proxy * @param obj the INeo4emfObject to cache */ void putToProxy(INeo4emfObject obj); /** * Search in the cache if there is an INeo4emfObject corresponding to the * given EClass and database node ID * <p> * Note : The EClass is used to optimize the cache research * </p> * @param eClassifier the EClass of the INeo4emfObject * @param nodeId the database node ID * @return the INeo4emfObject if it is cached, null otherwise */ INeo4emfObject getObjectFromProxy(EClass eClassifier, long nodeId); /** * <p> * Warning : This method is public only for test purpose * </p> * @return the internal cache mapping */ Map<EClass,Cache<Long,INeo4emfObject>> getInternalProxy(); }