/* * ============================================================================ * * Copyright (C) 2011 - 2013 Talend Inc. - www.talend.com * * This source code is available under agreement available at * %InstallDIR%\license.txt * * You should have received a copy of the agreement * along with this program; if not, write to Talend SA * 9 rue Pages 92150 Suresnes, France * * ============================================================================ */ package org.talend.esb.auxiliary.storage.client.common; import org.talend.esb.auxiliary.storage.common.AuxiliaryObjectFactory; /** * Public interface for the Registry client. */ public interface AuxiliaryStorageClient<E> { /** * gets AuxiliaryObject factory * @return Auxiliary Object factory */ public AuxiliaryObjectFactory<E> getAuxiliaryObjectFactory(); /** * sets AuxiliaryObject factory * @param AuxiliaryObject factory */ public void setAuxiliaryObjectFactory(AuxiliaryObjectFactory<E> factory); /** * lookup stored by context key and policy alias * @param context key * @return Stored object */ public E getStoredObject(String key); /** * save object in auxiliary persistence storage * @param saved object * @return context key */ public String saveObject(E obj); /** * remove stored object from aux persistence storage * @param context key */ public void removeStoredObject(String key); }