Copyright (c) 2000, 2015 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, 2015 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.core.internal.resources; import org.eclipse.core.internal.watson.IPathRequestor; import org.eclipse.core.resources.*; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.QualifiedName;
Implements a resource proxy given a path requestor and the resource info of the resource currently being visited.
/** * Implements a resource proxy given a path requestor and the resource * info of the resource currently being visited. */
public class ResourceProxy implements IResourceProxy, ICoreConstants { protected final Workspace workspace = (Workspace) ResourcesPlugin.getWorkspace(); protected IPathRequestor requestor; protected ResourceInfo info; //cached info protected IPath fullPath; protected IResource resource;
See Also:
  • getModificationStamp.getModificationStamp()
/** * @see org.eclipse.core.resources.IResourceProxy#getModificationStamp() */
@Override public long getModificationStamp() { return info.getModificationStamp(); } @Override public String getName() { return requestor.requestName(); } @Override public Object getSessionProperty(QualifiedName key) { return info.getSessionProperty(key); } @Override public int getType() { return info.getType(); }
See Also:
  • isAccessible.isAccessible()
/** * @see org.eclipse.core.resources.IResourceProxy#isAccessible() */
@Override public boolean isAccessible() { int flags = info.getFlags(); if (info.getType() == IResource.PROJECT) return flags != NULL_FLAG && ResourceInfo.isSet(flags, M_OPEN); return flags != NULL_FLAG; }
See Also:
  • isDerived.isDerived()
/** * @see org.eclipse.core.resources.IResourceProxy#isDerived() */
@Override public boolean isDerived() { int flags = info.getFlags(); return flags != NULL_FLAG && ResourceInfo.isSet(flags, M_DERIVED); }
See Also:
  • isLinked.isLinked()
/** * @see org.eclipse.core.resources.IResourceProxy#isLinked() */
@Override public boolean isLinked() { int flags = info.getFlags(); return flags != NULL_FLAG && ResourceInfo.isSet(flags, M_LINK); }
See Also:
  • isPhantom.isPhantom()
/** * @see org.eclipse.core.resources.IResourceProxy#isPhantom() */
@Override public boolean isPhantom() { int flags = info.getFlags(); return flags != NULL_FLAG && ResourceInfo.isSet(flags, M_PHANTOM); }
See Also:
  • isTeamPrivateMember.isTeamPrivateMember()
/** * @see org.eclipse.core.resources.IResourceProxy#isTeamPrivateMember() */
@Override public boolean isTeamPrivateMember() { int flags = info.getFlags(); return flags != NULL_FLAG && ResourceInfo.isSet(flags, M_TEAM_PRIVATE_MEMBER); }
See Also:
  • isHidden.isHidden()
/** * @see org.eclipse.core.resources.IResourceProxy#isHidden() */
@Override public boolean isHidden() { int flags = info.getFlags(); return flags != NULL_FLAG && ResourceInfo.isSet(flags, M_HIDDEN); }
See Also:
  • requestFullPath.requestFullPath()
/** * @see org.eclipse.core.resources.IResourceProxy#requestFullPath() */
@Override public IPath requestFullPath() { if (fullPath == null) fullPath = requestor.requestPath(); return fullPath; }
See Also:
  • requestResource.requestResource()
/** * @see org.eclipse.core.resources.IResourceProxy#requestResource() */
@Override public IResource requestResource() { if (resource == null) resource = workspace.newResource(requestFullPath(), info.getType()); return resource; } protected void reset() { fullPath = null; resource = null; } }