blob: d9d14e7121317038cdf87fe1d54738185e78672f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009, 2016 xored software, Inc.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* xored software, Inc. - initial API and Implementation (Alex Panchenko)
*******************************************************************************/
package org.eclipse.dltk.internal.core;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IMarkerDelta;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceDelta;
import org.eclipse.core.resources.IResourceDeltaVisitor;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
/**
* Artificial implementation of {@link IResourceDelta}, to be send during script
* to non-script resource changes.
*/
class ResourceChangeToNonScriptDelta implements IResourceDelta {
private final IResource resource;
public ResourceChangeToNonScriptDelta(IResource resource) {
this.resource = resource;
}
@Override
public void accept(IResourceDeltaVisitor visitor) throws CoreException {
accept(visitor, IResource.NONE);
}
@Override
public void accept(IResourceDeltaVisitor visitor, boolean includePhantoms)
throws CoreException {
accept(visitor, includePhantoms ? IContainer.INCLUDE_PHANTOMS
: IResource.NONE);
}
@Override
public void accept(IResourceDeltaVisitor visitor, int memberFlags)
throws CoreException {
visitor.visit(this);
}
@Override
public IResourceDelta findMember(IPath path) {
if (path.isEmpty()) {
return this;
} else {
return null;
}
}
@Override
public IResourceDelta[] getAffectedChildren() {
return new IResourceDelta[0];
}
@Override
public IResourceDelta[] getAffectedChildren(int kindMask) {
return getAffectedChildren();
}
@Override
public IResourceDelta[] getAffectedChildren(int kindMask, int memberFlags) {
return getAffectedChildren();
}
@Override
public int getFlags() {
return 0;
}
@Override
public IPath getFullPath() {
return resource.getFullPath();
}
@Override
public int getKind() {
return ADDED;
}
@Override
public IMarkerDelta[] getMarkerDeltas() {
return new IMarkerDelta[0];
}
@Override
public IPath getMovedFromPath() {
return null;
}
@Override
public IPath getMovedToPath() {
return null;
}
@Override
public IPath getProjectRelativePath() {
return resource.getProjectRelativePath();
}
@Override
public IResource getResource() {
return resource;
}
@Override
public <T> T getAdapter(Class<T> adapter) {
return null;
}
}