Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikaƫl Barbero2013-09-06 16:01:54 +0000
committerLaurent Goubet2013-10-03 12:38:15 +0000
commit795b14c7ed50c99ebfb9985c36be5f511cb40918 (patch)
tree2a13b513c354bd9d0d1409fa12fad974068e4429
parent22f208d79462640a9535a555c090cc669878afe7 (diff)
downloadorg.eclipse.emf.compare-795b14c7ed50c99ebfb9985c36be5f511cb40918.tar.gz
org.eclipse.emf.compare-795b14c7ed50c99ebfb9985c36be5f511cb40918.tar.xz
org.eclipse.emf.compare-795b14c7ed50c99ebfb9985c36be5f511cb40918.zip
Ensure that !EMFResourceMapping.equals(SimpleResourceMapping)
hashCode() and equals() of ResourceMapping only delegate to model objects. This is wrong as our own implementation for EMF should not be equals to simple resource implementation if we want to override default behavior. Change-Id: I5a51c09df4dc88a3db72d53b1e7d1dc7af8b0e0a
-rw-r--r--plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/EMFResourceMapping.java331
-rw-r--r--plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/ForwardingAdaptable.java39
-rw-r--r--plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/ForwardingFile.java148
-rw-r--r--plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/ForwardingResource.java347
4 files changed, 699 insertions, 166 deletions
diff --git a/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/EMFResourceMapping.java b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/EMFResourceMapping.java
index 4e653d618..93e4afb77 100644
--- a/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/EMFResourceMapping.java
+++ b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/EMFResourceMapping.java
@@ -1,169 +1,168 @@
-/*******************************************************************************
+/*******************************************************************************
* Copyright (c) 2012, 2013 Obeo 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:
- * Obeo - initial API and implementation
- *******************************************************************************/
-package org.eclipse.emf.compare.ide.ui.internal.logical;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import com.google.common.collect.Sets;
-
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.resources.mapping.ResourceMappingContext;
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.emf.compare.ide.ui.internal.EMFCompareIDEUIPlugin;
-import org.eclipse.emf.compare.ide.utils.StorageTraversal;
-
-/**
- * This will be used to represent an EMF resource's mapping. It will allow us to properly resolve the whole
- * logical model of that EMF resource and return the proper traversal so that 'model-aware' tools can work on
- * the whole logical model instead of considering only single files.
- *
- * @author <a href="mailto:laurent.goubet@obeo.fr">laurent Goubet</a>
- */
-public class EMFResourceMapping extends ResourceMapping {
- /** The physical resource underlying this mapping. */
- private IFile file;
-
- /** The Model provider for which this mapping has been created. */
- private String providerId;
-
- /** We'll cache the "eclipse team" traversals in order to avoid multiple conversions. */
- private ResourceTraversal[] cachedTraversals;
-
- /**
- * Instantiates our mapping given its underlying physical {@link IResource}.
- *
- * @param file
- * The physical resource of this mapping.
- * @param providerId
- * The Model provider for which this mapping should be created.
- */
- public EMFResourceMapping(IFile file, String providerId) {
- checkNotNull(file);
- this.file = file;
- this.providerId = providerId;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.core.resources.mapping.ResourceMapping#getModelObject()
- */
- @Override
- public Object getModelObject() {
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.ide.ui.internal.logical;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import com.google.common.collect.Sets;
+
+import java.util.Set;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.mapping.ResourceMapping;
+import org.eclipse.core.resources.mapping.ResourceMappingContext;
+import org.eclipse.core.resources.mapping.ResourceTraversal;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.compare.ide.utils.StorageTraversal;
+
+/**
+ * This will be used to represent an EMF resource's mapping. It will allow us to properly resolve the whole
+ * logical model of that EMF resource and return the proper traversal so that 'model-aware' tools can work on
+ * the whole logical model instead of considering only single files.
+ *
+ * @author <a href="mailto:laurent.goubet@obeo.fr">laurent Goubet</a>
+ */
+public class EMFResourceMapping extends ResourceMapping {
+ /** The physical resource underlying this mapping. */
+ private IFile file;
+
+ /** The Model provider for which this mapping has been created. */
+ private String providerId;
+
+ /** We'll cache the "eclipse team" traversals in order to avoid multiple conversions. */
+ private ResourceTraversal[] cachedTraversals;
+
+ /**
+ * Instantiates our mapping given its underlying physical {@link IResource}.
+ *
+ * @param file
+ * The physical resource of this mapping.
+ * @param providerId
+ * The Model provider for which this mapping should be created.
+ */
+ public EMFResourceMapping(IFile file, String providerId) {
+ checkNotNull(file);
+ this.file = new ForwardingFile(file);
+ this.providerId = providerId;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.resources.mapping.ResourceMapping#getModelObject()
+ */
+ @Override
+ public Object getModelObject() {
return file;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.core.resources.mapping.ResourceMapping#getModelProviderId()
- */
- @Override
- public String getModelProviderId() {
- return providerId;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.core.resources.mapping.ResourceMapping#getTraversals(org.eclipse.core.resources.mapping.ResourceMappingContext,
- * org.eclipse.core.runtime.IProgressMonitor)
- */
- @Override
- public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor)
- throws CoreException {
- if (cachedTraversals == null) {
- cachedTraversals = convertCompareTraversal(resolveEMFTraversal(context, monitor));
- }
- return cachedTraversals;
- }
-
- /**
- * Resolve the traversal underlying this mapping. This will iterate over all resources needed by the
- * logical model of {@link #file} and return their list. Do note that the returned traversal might contain
- * references to files that do not exist in the workspace (in case of remote file revisions that have been
- * locally deleted).
- *
- * @param context
- * The context that may be used to resolve remote file revisions.
- * @param monitor
- * Used to display progress information to the user.
- * @return The resolved traversal.
- */
- private StorageTraversal resolveEMFTraversal(ResourceMappingContext context, IProgressMonitor monitor) {
- /*
- * Using the context (if it is an instance of RemoteResourceMappingContext) would give better
- * results... but would also be far longer. This is mainly used prior to synchronization, and
- * detecting a traversal for a file that's been removed locally but is present on the repository is
- * not necessary at this point.
- */
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.resources.mapping.ResourceMapping#getModelProviderId()
+ */
+ @Override
+ public String getModelProviderId() {
+ return providerId;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.resources.mapping.ResourceMapping#getTraversals(org.eclipse.core.resources.mapping.ResourceMappingContext,
+ * org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor)
+ throws CoreException {
+ if (cachedTraversals == null) {
+ cachedTraversals = convertCompareTraversal(resolveEMFTraversal(context, monitor));
+ }
+ return cachedTraversals;
+ }
+
+ /**
+ * Resolve the traversal underlying this mapping. This will iterate over all resources needed by the
+ * logical model of {@link #file} and return their list. Do note that the returned traversal might contain
+ * references to files that do not exist in the workspace (in case of remote file revisions that have been
+ * locally deleted).
+ *
+ * @param context
+ * The context that may be used to resolve remote file revisions.
+ * @param monitor
+ * Used to display progress information to the user.
+ * @return The resolved traversal.
+ */
+ private StorageTraversal resolveEMFTraversal(ResourceMappingContext context, IProgressMonitor monitor) {
+ /*
+ * Using the context (if it is an instance of RemoteResourceMappingContext) would give better
+ * results... but would also be far longer. This is mainly used prior to synchronization, and
+ * detecting a traversal for a file that's been removed locally but is present on the repository is
+ * not necessary at this point.
+ */
return EMFSynchronizationModel.resolveTraversal(file, monitor);
- }
-
- /**
- * Convert EMF Compare's traversals to Team ones. Extracted here to avoid usage of
- * org.eclipse.emf.compare.ide.utils.ResourceTraversal anywhere else.
- *
- * @param traversal
- * The traversal to convert to Team.
- * @return The converted traversals.
- */
- private ResourceTraversal[] convertCompareTraversal(StorageTraversal traversal) {
- final ResourceTraversal converted = (ResourceTraversal)traversal.getAdapter(ResourceTraversal.class);
- return new ResourceTraversal[] {converted, };
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.core.resources.mapping.ResourceMapping#getProjects()
- */
- @Override
- public IProject[] getProjects() {
- final Set<IProject> projects = Sets.newLinkedHashSet();
- if (cachedTraversals == null) {
- // We need to resolve our traversals with no real info, assume local
- try {
- final ResourceTraversal[] traversals = getTraversals(ResourceMappingContext.LOCAL_CONTEXT,
- new NullProgressMonitor());
- for (int i = 0; i < traversals.length; i++) {
- final IResource[] resources = traversals[i].getResources();
- for (int j = 0; j < resources.length; j++) {
- projects.add(resources[j].getProject());
- }
- }
- } catch (CoreException e) {
- // FIXME log.
- // only use the underlying resource's project
- projects.add(file.getProject());
- }
- } else {
- // use cached information
- final ResourceTraversal[] traversals = this.cachedTraversals;
- for (int i = 0; i < traversals.length; i++) {
- final IResource[] resources = traversals[i].getResources();
- for (int j = 0; j < resources.length; j++) {
- projects.add(resources[j].getProject());
- }
- }
- }
- final IProject[] projectArray = projects.toArray(new IProject[projects.size()]);
- return projectArray;
- }
-}
+ }
+
+ /**
+ * Convert EMF Compare's traversals to Team ones. Extracted here to avoid usage of
+ * org.eclipse.emf.compare.ide.utils.ResourceTraversal anywhere else.
+ *
+ * @param traversal
+ * The traversal to convert to Team.
+ * @return The converted traversals.
+ */
+ private ResourceTraversal[] convertCompareTraversal(StorageTraversal traversal) {
+ final ResourceTraversal converted = (ResourceTraversal)traversal.getAdapter(ResourceTraversal.class);
+ return new ResourceTraversal[] {converted, };
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.resources.mapping.ResourceMapping#getProjects()
+ */
+ @Override
+ public IProject[] getProjects() {
+ final Set<IProject> projects = Sets.newLinkedHashSet();
+ if (cachedTraversals == null) {
+ // We need to resolve our traversals with no real info, assume local
+ try {
+ final ResourceTraversal[] traversals = getTraversals(ResourceMappingContext.LOCAL_CONTEXT,
+ new NullProgressMonitor());
+ for (int i = 0; i < traversals.length; i++) {
+ final IResource[] resources = traversals[i].getResources();
+ for (int j = 0; j < resources.length; j++) {
+ projects.add(resources[j].getProject());
+ }
+ }
+ } catch (CoreException e) {
+ // FIXME log.
+ // only use the underlying resource's project
+ projects.add(file.getProject());
+ }
+ } else {
+ // use cached information
+ final ResourceTraversal[] traversals = this.cachedTraversals;
+ for (int i = 0; i < traversals.length; i++) {
+ final IResource[] resources = traversals[i].getResources();
+ for (int j = 0; j < resources.length; j++) {
+ projects.add(resources[j].getProject());
+ }
+ }
+ }
+ final IProject[] projectArray = projects.toArray(new IProject[projects.size()]);
+ return projectArray;
+ }
+}
diff --git a/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/ForwardingAdaptable.java b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/ForwardingAdaptable.java
new file mode 100644
index 000000000..e2ae80bbb
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/ForwardingAdaptable.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.ide.ui.internal.logical;
+
+import com.google.common.collect.ForwardingObject;
+
+import org.eclipse.core.runtime.IAdaptable;
+
+/**
+ * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
+ */
+public abstract class ForwardingAdaptable extends ForwardingObject implements IAdaptable {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
+ */
+ public Object getAdapter(Class adapter) {
+ return delegate().getAdapter(adapter);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see com.google.common.collect.ForwardingObject#delegate()
+ */
+ @Override
+ protected abstract IAdaptable delegate();
+
+}
diff --git a/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/ForwardingFile.java b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/ForwardingFile.java
new file mode 100644
index 000000000..23f5dd248
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/ForwardingFile.java
@@ -0,0 +1,148 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.ide.ui.internal.logical;
+
+import java.io.InputStream;
+import java.io.Reader;
+import java.net.URI;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFileState;
+import org.eclipse.core.resources.IResourceProxy;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.content.IContentDescription;
+
+/**
+ * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
+ */
+public class ForwardingFile extends ForwardingResource implements IFile {
+
+ private final IFile delegate;
+
+ public ForwardingFile(IFile iFile) {
+ delegate = iFile;
+ }
+
+ public void appendContents(InputStream source, boolean force, boolean keepHistory,
+ IProgressMonitor monitor) throws CoreException {
+ delegate().appendContents(source, force, keepHistory, monitor);
+ }
+
+ public void appendContents(InputStream source, int updateFlags, IProgressMonitor monitor)
+ throws CoreException {
+ delegate().appendContents(source, updateFlags, monitor);
+ }
+
+ public void create(InputStream source, boolean force, IProgressMonitor monitor) throws CoreException {
+ delegate().create(source, force, monitor);
+ }
+
+ public void create(InputStream source, int updateFlags, IProgressMonitor monitor) throws CoreException {
+ delegate().create(source, updateFlags, monitor);
+ }
+
+ public void createLink(IPath localLocation, int updateFlags, IProgressMonitor monitor)
+ throws CoreException {
+ delegate().createLink(localLocation, updateFlags, monitor);
+ }
+
+ public void createLink(URI location, int updateFlags, IProgressMonitor monitor) throws CoreException {
+ delegate().createLink(location, updateFlags, monitor);
+ }
+
+ public void delete(boolean force, boolean keepHistory, IProgressMonitor monitor) throws CoreException {
+ delegate().delete(force, keepHistory, monitor);
+ }
+
+ public String getCharset() throws CoreException {
+ return delegate().getCharset();
+ }
+
+ public String getCharset(boolean checkImplicit) throws CoreException {
+ return delegate().getCharset(checkImplicit);
+ }
+
+ public String getCharsetFor(Reader reader) throws CoreException {
+ return delegate().getCharsetFor(reader);
+ }
+
+ public IContentDescription getContentDescription() throws CoreException {
+ return delegate().getContentDescription();
+ }
+
+ public InputStream getContents() throws CoreException {
+ return delegate().getContents();
+ }
+
+ public InputStream getContents(boolean force) throws CoreException {
+ return delegate().getContents(force);
+ }
+
+ @Deprecated
+ public int getEncoding() throws CoreException {
+ return delegate().getEncoding();
+ }
+
+ public IFileState[] getHistory(IProgressMonitor monitor) throws CoreException {
+ return delegate().getHistory(monitor);
+ }
+
+ public void move(IPath destination, boolean force, boolean keepHistory, IProgressMonitor monitor)
+ throws CoreException {
+ delegate().move(destination, force, keepHistory, monitor);
+ }
+
+ @Deprecated
+ public void setCharset(String newCharset) throws CoreException {
+ delegate().setCharset(newCharset);
+ }
+
+ public void setCharset(String newCharset, IProgressMonitor monitor) throws CoreException {
+ delegate().setCharset(newCharset, monitor);
+ }
+
+ public void setContents(InputStream source, boolean force, boolean keepHistory, IProgressMonitor monitor)
+ throws CoreException {
+ delegate().setContents(source, force, keepHistory, monitor);
+ }
+
+ public void setContents(IFileState source, boolean force, boolean keepHistory, IProgressMonitor monitor)
+ throws CoreException {
+ delegate().setContents(source, force, keepHistory, monitor);
+ }
+
+ @Override
+ public IResourceProxy createProxy() {
+ return delegate().createProxy();
+ }
+
+ public void setContents(InputStream source, int updateFlags, IProgressMonitor monitor)
+ throws CoreException {
+ delegate().setContents(source, updateFlags, monitor);
+ }
+
+ public void setContents(IFileState source, int updateFlags, IProgressMonitor monitor)
+ throws CoreException {
+ delegate().setContents(source, updateFlags, monitor);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.compare.ide.ui.internal.logical.ForwardingResource#delegate()
+ */
+ @Override
+ protected IFile delegate() {
+ return delegate;
+ }
+}
diff --git a/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/ForwardingResource.java b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/ForwardingResource.java
new file mode 100644
index 000000000..7a9d43ebd
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/ForwardingResource.java
@@ -0,0 +1,347 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.ide.ui.internal.logical;
+
+import java.net.URI;
+import java.util.Map;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IPathVariableManager;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceProxy;
+import org.eclipse.core.resources.IResourceProxyVisitor;
+import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourceAttributes;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.QualifiedName;
+import org.eclipse.core.runtime.jobs.ISchedulingRule;
+
+/**
+ * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
+ */
+public abstract class ForwardingResource extends ForwardingAdaptable implements IResource {
+
+ public boolean contains(ISchedulingRule rule) {
+ return delegate().contains(rule);
+ }
+
+ public boolean isConflicting(ISchedulingRule rule) {
+ return delegate().isConflicting(rule);
+ }
+
+ public void accept(IResourceProxyVisitor visitor, int memberFlags) throws CoreException {
+ delegate().accept(visitor, memberFlags);
+ }
+
+ public void accept(IResourceProxyVisitor visitor, int depth, int memberFlags) throws CoreException {
+ delegate().accept(visitor, depth, memberFlags);
+ }
+
+ public void accept(IResourceVisitor visitor) throws CoreException {
+ delegate().accept(visitor);
+ }
+
+ public void accept(IResourceVisitor visitor, int depth, boolean includePhantoms) throws CoreException {
+ delegate().accept(visitor, depth, includePhantoms);
+ }
+
+ public void accept(IResourceVisitor visitor, int depth, int memberFlags) throws CoreException {
+ delegate().accept(visitor, depth, memberFlags);
+ }
+
+ public void clearHistory(IProgressMonitor monitor) throws CoreException {
+ delegate().clearHistory(monitor);
+ }
+
+ public void copy(IPath destination, boolean force, IProgressMonitor monitor) throws CoreException {
+ delegate().copy(destination, force, monitor);
+ }
+
+ public void copy(IPath destination, int updateFlags, IProgressMonitor monitor) throws CoreException {
+ delegate().copy(destination, updateFlags, monitor);
+ }
+
+ public void copy(IProjectDescription description, boolean force, IProgressMonitor monitor)
+ throws CoreException {
+ delegate().copy(description, force, monitor);
+ }
+
+ public void copy(IProjectDescription description, int updateFlags, IProgressMonitor monitor)
+ throws CoreException {
+ delegate().copy(description, updateFlags, monitor);
+ }
+
+ public IMarker createMarker(String type) throws CoreException {
+ return delegate().createMarker(type);
+ }
+
+ public IResourceProxy createProxy() {
+ return delegate().createProxy();
+ }
+
+ public void delete(boolean force, IProgressMonitor monitor) throws CoreException {
+ delegate().delete(force, monitor);
+ }
+
+ public void delete(int updateFlags, IProgressMonitor monitor) throws CoreException {
+ delegate().delete(updateFlags, monitor);
+ }
+
+ public void deleteMarkers(String type, boolean includeSubtypes, int depth) throws CoreException {
+ delegate().deleteMarkers(type, includeSubtypes, depth);
+ }
+
+ public boolean exists() {
+ return delegate().exists();
+ }
+
+ public IMarker findMarker(long id) throws CoreException {
+ return delegate().findMarker(id);
+ }
+
+ public IMarker[] findMarkers(String type, boolean includeSubtypes, int depth) throws CoreException {
+ return delegate().findMarkers(type, includeSubtypes, depth);
+ }
+
+ public int findMaxProblemSeverity(String type, boolean includeSubtypes, int depth) throws CoreException {
+ return delegate().findMaxProblemSeverity(type, includeSubtypes, depth);
+ }
+
+ public String getFileExtension() {
+ return delegate().getFileExtension();
+ }
+
+ public IPath getFullPath() {
+ return delegate().getFullPath();
+ }
+
+ public long getLocalTimeStamp() {
+ return delegate().getLocalTimeStamp();
+ }
+
+ public IPath getLocation() {
+ return delegate().getLocation();
+ }
+
+ public URI getLocationURI() {
+ return delegate().getLocationURI();
+ }
+
+ public IMarker getMarker(long id) {
+ return delegate().getMarker(id);
+ }
+
+ public long getModificationStamp() {
+ return delegate().getModificationStamp();
+ }
+
+ public String getName() {
+ return delegate().getName();
+ }
+
+ public IPathVariableManager getPathVariableManager() {
+ return delegate().getPathVariableManager();
+ }
+
+ public IContainer getParent() {
+ return delegate().getParent();
+ }
+
+ public Map<QualifiedName, String> getPersistentProperties() throws CoreException {
+ return delegate().getPersistentProperties();
+ }
+
+ public String getPersistentProperty(QualifiedName key) throws CoreException {
+ return delegate().getPersistentProperty(key);
+ }
+
+ public IProject getProject() {
+ return delegate().getProject();
+ }
+
+ public IPath getProjectRelativePath() {
+ return delegate().getProjectRelativePath();
+ }
+
+ public IPath getRawLocation() {
+ return delegate().getRawLocation();
+ }
+
+ public URI getRawLocationURI() {
+ return delegate().getRawLocationURI();
+ }
+
+ public ResourceAttributes getResourceAttributes() {
+ return delegate().getResourceAttributes();
+ }
+
+ public Map<QualifiedName, Object> getSessionProperties() throws CoreException {
+ return delegate().getSessionProperties();
+ }
+
+ public Object getSessionProperty(QualifiedName key) throws CoreException {
+ return delegate().getSessionProperty(key);
+ }
+
+ public int getType() {
+ return delegate().getType();
+ }
+
+ public IWorkspace getWorkspace() {
+ return delegate().getWorkspace();
+ }
+
+ public boolean isAccessible() {
+ return delegate().isAccessible();
+ }
+
+ public boolean isDerived() {
+ return delegate().isDerived();
+ }
+
+ public boolean isDerived(int options) {
+ return delegate().isDerived(options);
+ }
+
+ public boolean isHidden() {
+ return delegate().isHidden();
+ }
+
+ public boolean isHidden(int options) {
+ return delegate().isHidden(options);
+ }
+
+ public boolean isLinked() {
+ return delegate().isLinked();
+ }
+
+ public boolean isVirtual() {
+ return delegate().isVirtual();
+ }
+
+ public boolean isLinked(int options) {
+ return delegate().isLinked(options);
+ }
+
+ @Deprecated
+ public boolean isLocal(int depth) {
+ return delegate().isLocal(depth);
+ }
+
+ public boolean isPhantom() {
+ return delegate().isPhantom();
+ }
+
+ @Deprecated
+ public boolean isReadOnly() {
+ return delegate().isReadOnly();
+ }
+
+ public boolean isSynchronized(int depth) {
+ return delegate().isSynchronized(depth);
+ }
+
+ public boolean isTeamPrivateMember() {
+ return delegate().isTeamPrivateMember();
+ }
+
+ public boolean isTeamPrivateMember(int options) {
+ return delegate().isTeamPrivateMember(options);
+ }
+
+ public void move(IPath destination, boolean force, IProgressMonitor monitor) throws CoreException {
+ delegate().move(destination, force, monitor);
+ }
+
+ public void move(IPath destination, int updateFlags, IProgressMonitor monitor) throws CoreException {
+ delegate().move(destination, updateFlags, monitor);
+ }
+
+ public void move(IProjectDescription description, boolean force, boolean keepHistory,
+ IProgressMonitor monitor) throws CoreException {
+ delegate().move(description, force, keepHistory, monitor);
+ }
+
+ public void move(IProjectDescription description, int updateFlags, IProgressMonitor monitor)
+ throws CoreException {
+ delegate().move(description, updateFlags, monitor);
+ }
+
+ public void refreshLocal(int depth, IProgressMonitor monitor) throws CoreException {
+ delegate().refreshLocal(depth, monitor);
+ }
+
+ public void revertModificationStamp(long value) throws CoreException {
+ delegate().revertModificationStamp(value);
+ }
+
+ @Deprecated
+ public void setDerived(boolean isDerived) throws CoreException {
+ delegate().setDerived(isDerived);
+ }
+
+ public void setDerived(boolean isDerived, IProgressMonitor monitor) throws CoreException {
+ delegate().setDerived(isDerived, monitor);
+ }
+
+ public void setHidden(boolean isHidden) throws CoreException {
+ delegate().setHidden(isHidden);
+ }
+
+ @Deprecated
+ public void setLocal(boolean flag, int depth, IProgressMonitor monitor) throws CoreException {
+ delegate().setLocal(flag, depth, monitor);
+ }
+
+ public long setLocalTimeStamp(long value) throws CoreException {
+ return delegate().setLocalTimeStamp(value);
+ }
+
+ public void setPersistentProperty(QualifiedName key, String value) throws CoreException {
+ delegate().setPersistentProperty(key, value);
+ }
+
+ @Deprecated
+ public void setReadOnly(boolean readOnly) {
+ delegate().setReadOnly(readOnly);
+ }
+
+ public void setResourceAttributes(ResourceAttributes attributes) throws CoreException {
+ delegate().setResourceAttributes(attributes);
+ }
+
+ public void setSessionProperty(QualifiedName key, Object value) throws CoreException {
+ delegate().setSessionProperty(key, value);
+ }
+
+ public void setTeamPrivateMember(boolean isTeamPrivate) throws CoreException {
+ delegate().setTeamPrivateMember(isTeamPrivate);
+ }
+
+ public void touch(IProgressMonitor monitor) throws CoreException {
+ delegate().touch(monitor);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.compare.ide.ui.internal.logical.ForwardingAdaptable#delegate()
+ */
+ @Override
+ protected abstract IResource delegate();
+
+}

Back to the top