Copyright (c) 2000, 2017 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: IBM Corporation - initial API and implementation
/******************************************************************************* * Copyright (c) 2000, 2017 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/
package org.eclipse.team.internal.core; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.resources.team.ResourceRuleFactory; import org.eclipse.core.runtime.jobs.ISchedulingRule;
A pessimistic rule factory used to ensure older repository providers are not broken by new scheduling rule locking. The workspace root is returned for all rules.
/** * A pessimistic rule factory used to ensure older repository providers * are not broken by new scheduling rule locking. The workspace root * is returned for all rules. */
public class PessimisticResourceRuleFactory extends ResourceRuleFactory { IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); @Override public ISchedulingRule copyRule(IResource source, IResource destination) { return root; } @Override public ISchedulingRule createRule(IResource resource) { return root; } @Override public ISchedulingRule deleteRule(IResource resource) { return root; } @Override public ISchedulingRule modifyRule(IResource resource) { return root; } @Override public ISchedulingRule moveRule(IResource source, IResource destination) { return root; } @Override public ISchedulingRule refreshRule(IResource resource) { return root; } @Override public ISchedulingRule validateEditRule(IResource[] resources) { return root; } @Override public ISchedulingRule charsetRule(IResource resource) { return root; } }