/*******************************************************************************
* Copyright (c) 2004, 2005 IBM Corporation and others.
* 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.core.resources.mapping;
/**
* A resource mapping context is provided to a resource mapping when traversing the resources of the
* mapping. The type of context may determine what resources are included in the traversals of a
* mapping.
* <p>
* There are currently two resource mapping contexts: the local mapping context (represented by the
* singleton {@link #LOCAL_CONTEXT}), and {@link RemoteResourceMappingContext}. Implementors of
* {@link ResourceMapping} should not assume that these are the only valid contexts (in order to
* allow future extensibility). Therefore, if the provided context is not of one of the above
* mentioned types, the implementor can assume that the context is a local context.
* </p>
* <p>
* This class may be subclassed by clients; this class is not intended to be instantiated directly.
* </p>
*
* @see ResourceMapping
* @see RemoteResourceMappingContext
* @since 3.2
*/
public class ResourceMappingContext {
/**
* This resource mapping context is used to indicate that the operation that is requesting the
* traversals is performing a local operation. Because the operation is local, the resource
* mapping is free to be as precise as desired about what resources make up the mapping without
* concern for performing optimized remote operations.
*/
public static final ResourceMappingContext LOCAL_CONTEXT= new ResourceMappingContext();
}