# Jaxer.Dir : Jaxer.Filesystem
Return to: Jaxer Framework index

Utility object for filesystem directory access.

## Platform Support

Jaxer Server Framework | Jaxer Client Framework
--- | ---
1.0 | no

## Constructors

Constructor | Action | Jaxer Server Framework | Jaxer Client Framework
--- | --- | --- | ---
Jaxer.Dir Constructor(String aPath) : Jaxer.Dir Creates a new Directory handle for performing filesystem directory operations. | Show Details | 1.0 | no

### Jaxer.Dir(String aPath) : Jaxer.Dir

Creates a new Directory handle for performing filesystem directory operations.

Parameters

String | aPath | a java style path object where double backslash is used as a folder hierarchy delimiter

Returns

Jaxer.Dir | a Dir object reference initialized to the provided path.

Throws
    Throws an exception containing the error code.

## Inherited Properties

Property | Action | Jaxer Server Framework | Jaxer Client Framework
--- | --- | --- | ---
dateModified : Object The last modified timestamp as reported by the OS. | No Details | 1.0 | no

exists : Boolean A boolean indicator of whether the referenced object physically exists on the filesystem. | No Details | 1.0 | no

isDir : Boolean A boolean indicator of whether the referenced object is a folder/directory | No Details | 1.0 | no

isExec : Boolean A boolean indicator of whether the referenced object is an executable | No Details | 1.0 | no

isFile : Boolean A boolean indicator of whether the referenced object is a file | No Details | 1.0 | no

isFolder : Boolean A boolean indicator of whether the referenced object is a folder/directory an alias of as isDir | No Details | 1.0 | no

isHidden : Boolean A boolean indicator of whether the referenced object is hidden | No Details | 1.0 | no

isReadable : Boolean A boolean indicator of whether the referenced object is readable | No Details | 1.0 | no

isSpecial : Boolean A boolean indicator of whether the referenced object is special. NOTE: Not implemented on Mac and possibly other systems. | No Details | 1.0 | no

isSymlink : Boolean A boolean indicator of whether the referenced object is a symlink | No Details | 1.0 | no

isWritable : Boolean A boolean indicator of whether the referenced object is writable | No Details | 1.0 | no

leaf : String Get/Set the leaf (filename + extension) portion of the file path. | No Details | 1.0 | no

nsIFile : Object Returns a clone of the underlying nsIFile object. | No Details | 1.0 | no

path : String Returns the path of the refererenced filesystem object. | No Details | 1.0 | no

permissions : String
Get/Set the file permissions for the File object. this may be ignored/misreported by some versions of windows. on Windows, you can only set the Read/Write bits of a file. And User/Group/Other will have the SAME settings based on the most-relaxed setting (Read 04, 040, 0400, Write 02, 020, 0200). When a file is created, by default it has both Read and Write permissions. Also, you cannot set the file permission to WRITE-ONLY, doing so would set it to read-write

No Details

1.0

no

URL : String Return the path of the referenced object as a file URL | No Details | 1.0 | no

## Functions

Method | Action | Jaxer Server Framework | Jaxer Client Framework
--- | --- | --- | ---
clone() : Jaxer.Dir Clone a directory object | Show Details | 1.0 | no

Returns

Jaxer.Dir | an new Dir Object cloned from the original

Throws
    Throws an Exception containing the error code.

contains(Object aFileObj) : Boolean Tests whether a file Object exists in the Physical directory referenced by the Dir object | Show Details | 1.0 | no

Parameters

Object | aFileObj | the aFileObj parameter may be either a JSLib file object or a string containing the name of the object.

Returns

Boolean | True/False indicates whether the file was found;

Throws
    Throws an Exception containing the error code.

create(String aPermissions) : void
Creates a new folder under the referenced path of the directory object The format of the permissions is a unix style numeric chmod i.e. 0777 or 444 on Windows, you can only set the Read/Write bits of a file. And User/Group/Other will have the SAME settings based on the most-relaxed setting (Read 04, 040, 0400, Write 02, 020, 0200). When a file is created, by default it has both Read and Write permissions. Also, you cannot set the file permission to WRITE-ONLY, doing so would set it to read-write

Show Details

1.0

no

Parameters

String | aPermissions | The permissions used to create the filesystem object.

Throws
    Throws a Exception containing the error code if filesytem object is unable to be created.

createHierarchy(String aPermissions) : void Creates a hierarchy of folders as needed to contain the current folder's path. The format of the permissions is the same as for the create method. | Show Details | 1.0 | no

Parameters

String | aPermissions | The permissions used to create al the filesystem objects

Throws
    Throws a Exception containing the error code if any filesytem object is unable to be created.

createUnique(String aPermissions) : void
Create a new unique folder under the referenced path of the directory object The format of the permissions is a unix style numeric chmod i.e. 0777 or 444 on Windows, you can only set the Read/Write bits of a file. And User/Group/Other will have the SAME settings based on the most-relaxed setting (Read 04, 040, 0400, Write 02, 020, 0200). When a file is created, by default it has both Read and Write permissions. Also, you cannot set the file permission to WRITE-ONLY, doing so would set it to read-write

Show Details

1.0

no

Parameters

String | aPermissions | The permissions used to create the filesystem object, this may be ignored by some versions of windows.

Throws
    Throws an Exception containing the error code.

readDir() : Array<Jaxer.Filesystem> Read the contents of a directory | Show Details | 1.0 | no

Returns

Array<Jaxer.Filesystem> | an Array of Filesystem Objects, with no sort order explicitly set.

Throws
    Throws an Exception containing the error code.

remove(Boolean aRecursive) : void Removes specified folder from the file system | Show Details | 1.0 | no

Parameters

Boolean | aRecursive | True/False value to indicate whether the removal includes subfolders.

Throws
    Throws a Exception containing the error code.

static combine(String ...) : String Combines any number of path fragments into a single path, using the current operating system's filesystem path separator. Before joining two fragments with the path separator, it strips any existing path separators on the fragment ends to be joined | Show Details | 1.0 | no

Parameters

String | ... | Takes any number of string path fragments

Returns

String | The fragments joined into a path

static create(String path, String aPermissions) : Jaxer.Dir
Creates a new folder (directory) at the specified path and returns it The format of the permissions is a unix style numeric chmod i.e. 0777 or 444 on Windows, you can only set the Read/Write bits of a file. And User/Group/Other will have the SAME settings based on the most-relaxed setting (Read 04, 040, 0400, Write 02, 020, 0200). When a file is created, by default it has both Read and Write permissions. Also, you cannot set the file permission to WRITE-ONLY, doing so would set it to read-write

Show Details

1.0

no

Parameters

String | path | The path of the new folder
String | aPermissions | The permissions used to create the filesystem object.

Returns

Jaxer.Dir | The new directory object

Throws
    Throws a Exception containing the error code if filesytem object is unable to be created.

static createHierarchy(String path, String aPermissions) : Jaxer.Dir Creates a hierarchy of folders as needed to contain the current folder's path. The format of the permissions is the same as for the create method. | Show Details | 1.0 | no

Parameters

String | path | The path of the new folder
String | aPermissions | The permissions used to create all the filesystem objects

Returns

Jaxer.Dir | The new directory object

Throws
    Throws a Exception containing the error code if filesytem object is unable to be created.

static exists(String path) : Boolean Does the directory exist on disk? | Show Details | 1.0 | no

Parameters

String | path | The full or partial (to be resolved) path to test

Returns

Boolean | true if exists, false otherwise

static grep(String path, [Object options]) : Array<Jaxer.File>
Scan a folder tree from the provided path and find files that match the provided regular expression pattern. The available options properties are pattern : a string containing a regular expression i.e. "^.*\.js$" flags : the flags to use with the regular express. i.e. "i" to ignore case recursive: true/false indication of whether to search sub folders for the match

Show Details

1.0

no

Parameters

String | path | The starting path for the search. This must be a folder.
Object | options | (optional)Optional An Associative Array of optional parameters

Returns

Array<Jaxer.File> | An Array of Jaxer.File objects that matched the provided pattern

Throws
    A Jaxer.Exception object is thrown when the path is not a valid folder

static map(String path, [Object options,] [Function(Jaxer.File)->Object fn]) : Array<Object> Scan a folder tree from the provided path and find files that match the provided regular expression pattern and run the provided function against each match | Show Details | 1.0 | no

Parameters

String | path | The starting path for the search. This must be a folder.
Object | options | (optional)Optional An Associative Array of optional parameters
Function(Jaxer.File)->Object | fn | (optional)Optional The function to run. It will be invoked for each the matched Jaxer.File object, with the Jaxer.File object being passed as its parameter

Returns

Array<Object> | An Array of objects created by invoking the provided function on each file which matched the provided pattern

Throws
    A Jaxer.Exception object is thrown when the path is not a valid folder

static pathToUrl(String path) : null|String Convert a native filesystem path to a URL format, which will begin with "file:...". | Show Details | 1.0 | no

Parameters

String | path | The full path to be converted

Returns

null | The URL, or null if the path could not be converted
String | The URL, or null if the path could not be converted

static resolve(String pathToResolve, [String referencePath]) : String Resolves a path to an absolute path on the filesystem, using as a reference (base) the given path or the current page's path. | Show Details | 1.0 | no

Parameters

String | pathToResolve | The path to resolve, e.g. a filename. It can also be a resource pattern (e.g. "resource:///...") or a file pattern (e.g. "file:///...")
String | referencePath | (optional)An optional path to use as a reference. By default, it uses the current page's path.

Returns

String | The full path on the filesystem

static urlToPath(String url) : null|String Convert a URL in string format to a native filesystem path. The URL must begin with "file:..." | Show Details | 1.0 | no

Parameters

String | url | The URL to convert

Returns

null | The full path, or null if the URL could not be converted
String | The full path, or null if the URL could not be converted

## Inherited Functions

Method | Action | Jaxer Server Framework | Jaxer Client Framework
--- | --- | --- | ---
append(String leafname) : String Changes the path of the filesystem object by appending the provided leaf value. | Show Details | 1.0 | no

Parameters

String | leafname | The leafname to be appended

Returns

String | The appended directory and leafname

Throws
    Throws a Exception containing the error code.

appendRelativePath(String relative) : void This method is used for appending a relative path to the current filesystem object | Show Details | 1.0 | no

Parameters

String | relative | path

Throws
    Throws a Exception containing the error code.

equals(Object a) : Boolean Evaluates whether the current filesystem object refers to the same file as the one provided as a parameter | Show Details | 1.0 | no

Parameters

Object | a | file system object to be compared

Returns

Boolean | true if object refers to same filesystem object, false otherwise

Throws
    Throws a Exception containing the error code.

initPath(Array a) : String This method will initialize the file system object with the provided path information (or will attempt to derive the path if an object is provided). An existing File object can be 'repointed' to a new physical file sytem object by invoking this method. | Show Details | 1.0 | no

Parameters

Array | a | set of arguments

Returns

String | the file extension of the referenced filesystem object

Throws
    Throws a Exception containing the error code.

move(String destination) : void Move the referenced file to a new filesystem location provided as a parameter NOTE: after a move, 'this' will be reinitialized to reference the moved file! | Show Details | 1.0 | no

Parameters

String | destination | path

Throws
    Throws a Exception containing the error code.

normalize() : void As of Mozilla 1.7, the underlying XPCOM method is only implemented under UNIX builds (except for Mac OSX). This method will fail if the path does not exist. | Show Details | 1.0 | no

Throws
    Throws a Exception containing the error code.

resetCache() : Boolean Truncates the file referenced by the filesystem object. | Show Details | 1.0 | no

Returns

Boolean | true indicates success

Throws
    Throws a Exception containing the error code.

aptana_docs