Provides file access for workspace and file system resources. Methods accepting location objects can deal with String, URI, IFile and File instances.
Constant | Description |
---|---|
APPEND | Access modifier for append mode (4). |
READ | Access modifier for read mode (1). |
WRITE | Access modifier for write mode (2). |
Method | Description |
---|---|
closeFile() | Close a file. |
copyFile() | Copies a file from location to targetLocation. |
createFile() | Create a new file in the workspace or the file system. |
createFolder() | Create a new folder in the workspace or the file system. |
createProblemMarker() | Create a problem marker on a file resource. |
createProject() | Create a new workspace project. |
deleteFile() | Delete a file from the workspace or local file system. |
deleteFolder() | Delete a folder from the workspace or local file system. |
deleteProject() | Delete a project from the workspace. |
fileExists() | Verifies that a specific file exists. |
findFiles() | Return files matching a certain pattern. |
getFile() | Get a workspace or file system file. |
getProject() | Get a project instance. |
getWorkspace() | Get the workspace root. |
linkProject() | Links a project into the current workspace. |
openFile() | Opens a file from the workspace or the file system. |
readFile() | Read data from a file. |
readLine() | Read a single line from a file. |
readStream() | Read from an InputStream into a string. |
refreshResource() | Refresh a given resource and all its child elements. |
showFileSelectionDialog() | Opens a file dialog. |
showFolderSelectionDialog() | Opens a dialog box which allows the user to select a container (project or folder). |
writeFile() | Write data to a file. |
writeLine() | Write a line of data to a file. |
void closeFile(org.eclipse.ease.modules.platform.IFileHandle handle)
Close a file. Releases system resources bound by an open file.
Parameter | Type | Description |
---|---|---|
handle | org.eclipse.ease.modules.platform.IFileHandle | handle to be closed |
void copyFile(java.lang.Object sourceLocation, java.lang.Object targetLocation)
Copies a file from location to targetLocation.
Parameter | Type | Description |
---|---|---|
sourceLocation | java.lang.Object | |
targetLocation | java.lang.Object | file location, file handle or file instance |
java.lang.Object createFile(java.lang.Object location)
Create a new file in the workspace or the file system.
Parameter | Type | Description |
---|---|---|
location | java.lang.Object | file location |
Returns:java.lang.Object ... IFile, File or null
in case of error
java.lang.Object createFolder(java.lang.Object location)
Create a new folder in the workspace or the file system.
Parameter | Type | Description |
---|---|---|
location | java.lang.Object | folder location |
Returns:java.lang.Object ... IFolder, File or null
in case of error
void createProblemMarker(java.lang.String severity, java.lang.Object location, int lineNumber, java.lang.String message, [java.lang.String type], [boolean permanent])
Create a problem marker on a file resource.
Parameter | Type | Description |
---|---|---|
severity | java.lang.String | one of error/warning/info |
location | java.lang.Object | file resource to create marker for |
lineNumber | int | line number to set marker on |
message | java.lang.String | message to be added to the marker |
type | java.lang.String | marker type to create, needs to match an existing type Optional: defaults to <"org.eclipse.core.resources.problemmarker">. |
permanent | boolean | true for permanent markers, false for temporary markersOptional: defaults to <true>. |
org.eclipse.core.resources.IProject createProject(java.lang.String name)
Create a new workspace project. Will create a new project if it now already exists. If creation fails, null
is returned.
Parameter | Type | Description |
---|---|---|
name | java.lang.String | name or project to create |
Returns:org.eclipse.core.resources.IProject ... null
or project
void deleteFile(java.lang.Object source)
Delete a file from the workspace or local file system.
Parameter | Type | Description |
---|---|---|
source | java.lang.Object | file to be deleted |
void deleteFolder(java.lang.Object source)
Delete a folder from the workspace or local file system.
Parameter | Type | Description |
---|---|---|
source | java.lang.Object | folder to be deleted |
void deleteProject(java.lang.Object source)
Delete a project from the workspace.
Parameter | Type | Description |
---|---|---|
source | java.lang.Object | project to be deleted |
boolean fileExists(java.lang.Object location)
Verifies that a specific file exists.
Parameter | Type | Description |
---|---|---|
location | java.lang.Object | file location to verify |
Returns:boolean ... true
if file exists
java.lang.Object findFiles(java.lang.String pattern, [java.lang.Object rootFolder], [boolean recursive])
Return files matching a certain pattern.
Parameter | Type | Description |
---|---|---|
pattern | java.lang.String | search pattern: use * and ? as wildcards. If the pattern starts with '^' then a regular expression can be used. |
rootFolder | java.lang.Object | root folder to start your search from. null for workspace rootOptional: defaults to <null>. |
recursive | boolean | searches subfolders when set to true Optional: defaults to <true>. |
Returns:java.lang.Object ... An array of all matching files
java.lang.Object getFile(java.lang.String location, [boolean exists])
Get a workspace or file system file. Resolves relative and absolute file locations. Relative files are resolved against the current script file. If
exists is false
this method also returns files that do not exist yet. If true
only existing instances are returned.
Parameter | Type | Description |
---|---|---|
location | java.lang.String | file location/path to resolve |
exists | boolean | whether the resolved file needs to exist Optional: defaults to <true>. |
Returns:java.lang.Object ... resolved IFile or File instance
Example:getFile("workspace://my project/some folder/file.txt")
... to get the file.txt resource from the workspace
Example:getFile("project://some folder/file.txt")
... to get the file.txt resource as a project relative path
org.eclipse.core.resources.IProject getProject(java.lang.String name)
Get a project instance.
Parameter | Type | Description |
---|---|---|
name | java.lang.String | project name |
Returns:org.eclipse.core.resources.IProject ... project or null
org.eclipse.core.resources.IWorkspaceRoot getWorkspace()
Get the workspace root.
Returns:org.eclipse.core.resources.IWorkspaceRoot ... workspace root
boolean linkProject(java.lang.String location)
Links a project into the current workspace. Does not copy resources to the workspace.
Parameter | Type | Description |
---|---|---|
location | java.lang.String | location of project (needs to contain .project file) |
Returns:boolean ... link result
org.eclipse.ease.modules.platform.IFileHandle openFile(java.lang.Object location, [int mode])
Opens a file from the workspace or the file system. If the file does not exist and we open it for writing, the file is created automatically.
Parameter | Type | Description |
---|---|---|
location | java.lang.Object | file location |
mode | int | one of READ, WRITE, APPEND Optional: defaults to <1>. |
Returns:org.eclipse.ease.modules.platform.IFileHandle ... file handle instance to be used for file modification commands
java.lang.String readFile(java.lang.Object location, [int bytes])
Read data from a file. To repeatedly read from a file retrieve a IFileHandle first using openFile() and use the handle for location.
Parameter | Type | Description |
---|---|---|
location | java.lang.Object | file location, file handle or file instance |
bytes | int | amount of bytes to read (-1 for whole file) Optional: defaults to <-1>. |
Returns:java.lang.String ... file data or null
if EOF is reached
java.lang.String readLine(java.lang.Object location)
Read a single line from a file. To repeatedly read from a file retrieve a IFileHandle first using openFile() and use the handle for location.
Parameter | Type | Description |
---|---|---|
location | java.lang.Object | file location, file handle or file instance |
Returns:java.lang.String ... line of text or null
if EOF is reached
java.lang.String readStream(java.io.InputStream input)
Read from an InputStream into a string. Consumes an InputStream and stores all available data in a string. Usually a stream is only readable once.
Parameter | Type | Description |
---|---|---|
input | java.io.InputStream | input stream to read from |
Returns:java.lang.String ... string content of stream.
void refreshResource(org.eclipse.core.resources.IResource resource)
Refresh a given resource and all its child elements.
Parameter | Type | Description |
---|---|---|
resource | org.eclipse.core.resources.IResource | IFile, IFolder, IProject or workspace root to update |
Example:updateResource(getProject("my project"))
... to update the project and all its subfolders
java.lang.String showFileSelectionDialog([java.lang.Object rootFolder], [int type], [java.lang.String title], [java.lang.String message])
Opens a file dialog. Depending on the rootFolder a workspace dialog or a file system dialog will be used. If the folder cannot be located, the workspace root folder is used by default. When type is set to WRITE or APPEND a save dialog will be shown instead of the default open dialog.
Parameter | Type | Description |
---|---|---|
rootFolder | java.lang.Object | root folder path to use Optional: defaults to <null>. |
type | int | dialog type to use (WRITE/ APPEND for save dialog, other for open dialog) Optional: defaults to <0>. |
title | java.lang.String | dialog title Optional: defaults to <null>. |
message | java.lang.String | dialog message Optional: defaults to <null>. |
Returns:java.lang.String ... full path to selected file
java.lang.String showFolderSelectionDialog([java.lang.Object rootFolder], [java.lang.String title], [java.lang.String message])
Opens a dialog box which allows the user to select a container (project or folder). Workspace paths will always display the workspace as root object.
Parameter | Type | Description |
---|---|---|
rootFolder | java.lang.Object | root folder to display: for workspace paths this will set the default selection Optional: defaults to <null>. |
title | java.lang.String | dialog title Optional: defaults to <null>. |
message | java.lang.String | dialog message Optional: defaults to <null>. |
Returns:java.lang.String ... path to selected folder
org.eclipse.ease.modules.platform.IFileHandle writeFile(java.lang.Object location, java.lang.Object data, [int mode])
Write data to a file. When not using an IFileHandle, previous file content will be overridden. Files that do not exist yet will be automatically created. After the write operation the file remains open. It needs to be closed explicitly using the closeFile() command
Parameter | Type | Description |
---|---|---|
location | java.lang.Object | file location |
data | java.lang.Object | data to be written |
mode | int | write mode (WRITE/APPEND) Optional: defaults to <2>. |
Returns:org.eclipse.ease.modules.platform.IFileHandle ... file handle to continue write operations
org.eclipse.ease.modules.platform.IFileHandle writeLine(java.lang.Object location, java.lang.String data, [int mode])
Write a line of data to a file. When not using an IFileHandle, previous file content will be overridden. Files that do not exist yet will be automatically created.
Parameter | Type | Description |
---|---|---|
location | java.lang.Object | file location |
data | java.lang.String | data to be written |
mode | int | write mode (WRITE/APPEND) Optional: defaults to <2>. |
Returns:org.eclipse.ease.modules.platform.IFileHandle ... file handle to continue write operations