/******************************************************************************* * Copyright (C) 2011, Tasktop Technologies Inc. * * 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: * Benjamin Muskalla (benjamin.muskalla@tasktop.com) - initial implementation *******************************************************************************/ package org.eclipse.egit.ui.internal.operations; import org.eclipse.team.core.subscribers.SubscriberScopeManager; import org.eclipse.ui.IWorkbenchPart; /** * Factory to create {@link GitScopeOperation}s. Used to replace * the ScopeOperations on the fly. * */ public class GitScopeOperationFactory { private static GitScopeOperationFactory instance; /** * @param part * @param manager * @return a */ public GitScopeOperation createGitScopeOperation( IWorkbenchPart part, SubscriberScopeManager manager) { GitScopeOperation buildScopeOperation = new GitScopeOperation(part, manager); return buildScopeOperation; } /** * @return the current factory */ public static synchronized GitScopeOperationFactory getFactory() { if(instance == null) instance = new GitScopeOperationFactory(); return instance; } /** * @param newInstance */ public static synchronized void setFactory(GitScopeOperationFactory newInstance) { instance = newInstance; } }