package com.c2kernel.persistency; import com.c2kernel.common.ObjectCannotBeUpdated; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.lookup.AgentPath; import com.c2kernel.lookup.ItemPath; import com.c2kernel.process.auth.Authenticator; /** * @author abranson * */ public interface NextKeyManager { public void open(Authenticator auth); /** * * @return * @throws ObjectCannotBeUpdated * @throws ObjectNotFoundException */ public ItemPath generateNextEntityKey() throws ObjectCannotBeUpdated, ObjectNotFoundException; /** * @return * @throws ObjectCannotBeUpdated * @throws ObjectNotFoundException */ public AgentPath generateNextAgentKey() throws ObjectCannotBeUpdated, ObjectNotFoundException; /** * @param sysKey * @throws ObjectCannotBeUpdated * @throws ObjectNotFoundException */ public void writeLastEntityKey(int sysKey) throws ObjectCannotBeUpdated, ObjectNotFoundException; /** * @return * @throws ObjectNotFoundException */ public ItemPath getLastEntityPath() throws ObjectNotFoundException; /** * Shuts down the next key manager */ public void close(); }