# Interface IFileTree

All Known Implementing Classes:
  `FileTree`

public interface IFileTree
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.

Since:
  org.eclipse.core.filesystem 1.0
See Also:
  - `IFileSystem.fetchFileTree(IFileStore, org.eclipse.core.runtime.IProgressMonitor)`
Restriction:
  This interface is not intended to be implemented by clients. File tree implementations should use the concrete class `FileTree`

## Method Summary

Modifier and Type
Method
Description
`IFileInfo[]`
`getChildInfos(IFileStore store)`
Returns an `IFileInfo` instance for each file and directory contained within the given store at the time this file tree was created.
`IFileStore[]`
`getChildStores(IFileStore store)`
Returns an `IFileStore` instance for each file and directory contained within the given store at the time this file tree was created.
`IFileInfo`
`getFileInfo(IFileStore store)`
Returns information about this file at the time this file tree was created.
`IFileStore`
`getTreeRoot()`
Returns the root of this tree

## Method Details

### getChildInfos

IFileInfo[] getChildInfos(IFileStore store)
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.

Parameters:
  `store` - a file store in this tree
Returns:
  An array of information about the children of the store, or an empty array if the store has no children.
See Also:
  - `IFileStore.childInfos(int, org.eclipse.core.runtime.IProgressMonitor)`

### getChildStores

IFileStore[] getChildStores(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.

Parameters:
  `store` - a file store in this tree
Returns:
  The children of the store, or an empty array if the store has no children.
See Also:
  - `IFileStore.childStores(int, org.eclipse.core.runtime.IProgressMonitor)`

### getFileInfo

IFileInfo getFileInfo(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.

Parameters:
  `store` - the store to return the file info for
Returns:
  IFileInfo the IFileInfo for the given store
See Also:
  - `IFileStore.fetchInfo(int, org.eclipse.core.runtime.IProgressMonitor)`

### getTreeRoot

IFileStore getTreeRoot()
Returns the root of this tree

Returns:
  An IFileStore representing the root of the tree