Copyright (c) 2005, 2008 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) 2005, 2008 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.filesystem;
This interface is used to query a tree of file stores. A file tree accurately represents the state of a portion of a file system at the time it is created, but it is never updated. Clients using a file tree must tolerate the fact that the actual file system contents may have changed since the tree was generated.
See Also:
  • fetchFileTree.fetchFileTree(IFileStore, IProgressMonitor)
Since:org.eclipse.core.filesystem 1.0
@noimplementThis interface is not intended to be implemented by clients. File tree implementations should use the concrete class FileTree
/** * This interface is used to query a tree of file stores. * A file tree accurately represents the state of a portion of a file system * at the time it is created, but it is never updated. Clients using a file * tree must tolerate the fact that the actual file system contents may have * changed since the tree was generated. * * @see IFileSystem#fetchFileTree(IFileStore, org.eclipse.core.runtime.IProgressMonitor) * @since org.eclipse.core.filesystem 1.0 * @noimplement This interface is not intended to be implemented by clients. File tree * implementations should use the concrete class {@link org.eclipse.core.filesystem.provider.FileTree} */
public interface IFileTree {
Returns an IFileInfo instance for each file and directory contained within the given store at the time this file tree was created.

An empty array is returned if the given store has no children, or is not in this file tree.

Params:
  • store – a file store in this tree
See Also:
Returns:An array of information about the children of the store, or an empty array if the store has no children.
/*** * Returns an {@link IFileInfo} instance for each file and directory contained * within the given store at the time this file tree was created. * <p> * An empty array is returned if the given store has no children, or is not * in this file tree. * </p> * * @param store a file store in this tree * @return An array of information about the children of the store, or an empty * array if the store has no children. * @see IFileStore#childInfos(int, org.eclipse.core.runtime.IProgressMonitor) */
public IFileInfo[] getChildInfos(IFileStore store);
Returns an IFileStore instance for each file and directory contained within the given store at the time this file tree was created.

An empty array is returned if the given store has no children, or is not in this file tree.

Params:
  • store – a file store in this tree
See Also:
Returns:The children of the store, or an empty array if the store has no children.
/** * Returns an {@link IFileStore} instance for each file and directory contained * within the given store at the time this file tree was created. * <p> * An empty array is returned if the given store has no children, or is not * in this file tree. * </p> * @param store a file store in this tree * @return The children of the store, or an empty array if the store has no children. * @see IFileStore#childStores(int, org.eclipse.core.runtime.IProgressMonitor) */
public IFileStore[] getChildStores(IFileStore store);
Returns information about this file at the time this file tree was created.

This method succeeds regardless of whether a corresponding file exists in the file tree. In the case of a non-existent file, the returned info will include the file's name and will return false when IFileInfo.exists() is called, but all other information will assume default values.

Params:
  • store – the store to return the file info for
See Also:
Returns:IFileInfo the IFileInfo for the given store
/** * Returns information about this file at the time this file tree was created. * <p> * This method succeeds regardless of whether a corresponding * file exists in the file tree. In the case of a non-existent * file, the returned info will include the file's name and will return <code>false</code> * when {@link IFileInfo#exists()} is called, but all other information will assume default * values. * * @param store the store to return the file info for * @return IFileInfo the IFileInfo for the given store * @see IFileStore#fetchInfo(int, org.eclipse.core.runtime.IProgressMonitor) */
public IFileInfo getFileInfo(IFileStore store);
Returns the root of this tree
Returns:An IFileStore representing the root of the tree
/*** * Returns the root of this tree * @return An IFileStore representing the root of the tree */
public IFileStore getTreeRoot(); }