/******************************************************************************* * Copyright (C) 2011 Robert Munteanu <robert.munteanu@gmail.com> * * 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 *******************************************************************************/ package com.itsolut.mantis.core; import org.eclipse.mylyn.tasks.core.TaskRepository; import com.itsolut.mantis.core.exception.MantisException; /** * The {@link IMantisClientManager} handles persistence and caching for {@link IMantisClient} instances. * * @author Robert Munteanu * */ public interface IMantisClientManager extends IShutdown { /** * Returns a client for the specified taskRepository * * <p>The client is created on the fly if it does not exist.</p> * * @param taskRepository the repository * @return the mantis client, never null * @throws MantisException an error creating the repository */ IMantisClient getRepository(TaskRepository taskRepository) throws MantisException; }