Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

MutableFilePath Class Reference

Inheritance diagram for MutableFilePath:

FilePath List of all members.

Public Member Functions

 this ()
 this (FilePath other)
 this (char[] name)
MutableFilePath setExt (char[] ext)
MutableFilePath setName (char[] name)
MutableFilePath setPath (char[] path)
MutableFilePath setRoot (char[] root)
MutableFilePath setSuffix (char[] suffix)

Private Member Functions

final MutableFilePath set (char[]*x, char[]*v)
 this (Uri uri)
void reset ()
bool isAbsolute ()
char[] getRoot ()
char[] getPath ()
char[] getName ()
char[] getExtension ()
char[] getSuffix ()
char[] toString ()
void write (IWriter write)
IBuffer write (IBuffer buf)
MutableUri toUri ()
char[] toUtf8 ()
wchar[] toUtf16 ()
char[] splice (FilePath base)
IBuffer splice (FilePath base, IBuffer buf)
FilePath toParent ()
bool isChild ()
FilePath toSibling (char[] name)
FilePath toSibling (char[] name, char[] ext)
FilePath toSibling (char[] name, char[] ext, char[] suffix)

Static Private Member Functions

static char[] normalize (inout char[] path)

Detailed Description

Mutable version of FilePath, which allows one to change individual attributes. A change to any attribute will cause method toString() to rebuild the output.

Definition at line 607 of file FilePath.d.


Member Function Documentation

this  )  [inline]
 

Create an empty MutableFilePath

Reimplemented from FilePath.

Definition at line 615 of file FilePath.d.

this FilePath  other  )  [inline]
 

Create a MutableFilePath through reference to another.

Reimplemented from FilePath.

Definition at line 625 of file FilePath.d.

this char[]  name  )  [inline]
 

Create a MutableFilePath via a filename.

Reimplemented from FilePath.

Definition at line 636 of file FilePath.d.

final MutableFilePath set char *[]  x,
char *[]  v
[inline, private]
 

Set the extension of this FilePath.

Definition at line 647 of file FilePath.d.

MutableFilePath setExt char[]  ext  )  [inline]
 

Set the extension of this FilePath.

Definition at line 660 of file FilePath.d.

MutableFilePath setName char[]  name  )  [inline]
 

Set the name of this FilePath.

Definition at line 671 of file FilePath.d.

MutableFilePath setPath char[]  path  )  [inline]
 

Set the path of this FilePath.

Definition at line 682 of file FilePath.d.

MutableFilePath setRoot char[]  root  )  [inline]
 

Set the root of this FilePath (such as "c:")

Definition at line 693 of file FilePath.d.

MutableFilePath setSuffix char[]  suffix  )  [inline]
 

Set the suffix of this FilePath.

Definition at line 704 of file FilePath.d.

this Uri  uri  )  [inline, inherited]
 

Definition at line 117 of file FilePath.d.

References FilePath::path.

static char [] normalize inout char[]  path  )  [inline, static, inherited]
 

Convert path separators to the correct format. This mutates the provided 'path' content, so .dup it as necessary.

Definition at line 222 of file FilePath.d.

References version.

void reset  )  [inline, inherited]
 

Definition at line 243 of file FilePath.d.

Referenced by FilePath::toParent(), FilePath::toSibling(), and FilePath::toUtf8().

bool isAbsolute  )  [inline, inherited]
 

Returns true if this FilePath is *not* relative to the current working directory.

Definition at line 256 of file FilePath.d.

References FilePath::path, and FilePath::root.

Referenced by FilePath::toUri().

char [] getRoot  )  [inline, inherited]
 

Return the root of this path. Roots are constructs such as "c:".

Definition at line 270 of file FilePath.d.

References FilePath::root.

char [] getPath  )  [inline, inherited]
 

Return the file path. Paths start with a '/' but do not end with one. The root path is empty. Directory paths are split such that the directory name is placed into the 'name' member.

Definition at line 284 of file FilePath.d.

References FilePath::path.

char [] getName  )  [inline, inherited]
 

Return the name of this file, or directory.

Definition at line 295 of file FilePath.d.

Referenced by FileScan::simpleFilter().

char [] getExtension  )  [inline, inherited]
 

Return the file-extension, sans seperator

Definition at line 306 of file FilePath.d.

Referenced by ServletResponse::copyFile(), and FileScan::simpleFilter().

char [] getSuffix  )  [inline, inherited]
 

Suffix is like extension, except it can include multiple '.' sequences. For example, "wumpus1.foo.bar" has suffix "foo.bar" and extension "bar".

Definition at line 319 of file FilePath.d.

References FilePath::suffix.

char [] toString  )  [inline, inherited]
 

Convert this FilePath to a char[]. This is expected to execute optimally in most cases.

Definition at line 331 of file FilePath.d.

References Buffer, FilePath::fp, FilePath::MaxFilePathSize, and FilePath::write().

Referenced by FileBucket::Record::eof(), FileConduit::getName(), FileProxy::toString(), and FilePath::toUtf16().

void write IWriter  write  )  [inline, inherited]
 

Write this FilePath to the given IWriter. This makes the FilePath compatible with all Writers. Note that we could leverage the write(IBuffer) method here, but that would bypass any special character converters attached to the IWriter.

Reimplemented from IWritable.

Definition at line 359 of file FilePath.d.

References FilePath::name, FilePath::path, and FilePath::root.

Referenced by FilePath::splice(), and FilePath::toString().

IBuffer write IBuffer  buf  )  [inline, inherited]
 

Convert this FilePath to a char[] in the provided buffer

Definition at line 380 of file FilePath.d.

MutableUri toUri  )  [inline, inherited]
 

Definition at line 405 of file FilePath.d.

References FilePath::isAbsolute(), FilePath::name, FilePath::path, FilePath::root, MutableUri::setHost(), MutableUri::setPath(), MutableUri::setScheme(), Text, and version.

char [] toUtf8  )  [inline, inherited]
 

Return a zero terminated version of this file path. Note that the compiler places a zero at the end of each static string, as does the allocator for char[] requests.

In typical usage, this will not need to duplicate the path

Definition at line 436 of file FilePath.d.

References FilePath::fp, and FilePath::reset().

Referenced by FileProxy::VersionPosix::createDirectory(), FileProxy::VersionWin32::createDirectory(), FileProxy::VersionPosix::createFile(), FileProxy::VersionWin32::createFile(), FileProxy::VersionPosix::getInfo(), FileProxy::VersionWin32::getInfo(), FileConduit::VersionPosix::open(), FileConduit::VersionWin32::open(), FileProxy::VersionPosix::remove(), FileProxy::VersionWin32::remove(), FileSystem::VersionPosix::setDirectory(), FileSystem::VersionWin32::setDirectory(), FileProxy::VersionPosix::toList(), and FileProxy::VersionWin32::toList().

wchar [] toUtf16  )  [inline, inherited]
 

Definition at line 451 of file FilePath.d.

References FilePath::toString().

Referenced by FileProxy::VersionWin32::createDirectory(), FileProxy::VersionWin32::createFile(), FileProxy::VersionWin32::getInfo(), FileConduit::VersionWin32::open(), FileProxy::VersionWin32::remove(), FileSystem::VersionWin32::setDirectory(), and FileProxy::VersionWin32::toList().

char [] splice FilePath  base  )  [inline, inherited]
 

Splice this FilePath onto the end of the provided base path. Output is return as a char[].

Definition at line 468 of file FilePath.d.

References Buffer, and FilePath::MaxFilePathSize.

IBuffer splice FilePath  base,
IBuffer  buf
[inline, inherited]
 

Splice this FilePath onto the end of the provided base path. Output is placed into the provided IBuffer.

Definition at line 480 of file FilePath.d.

References IBuffer::append(), IBuffer::getLimit(), FilePath::name, FilePath::path, and FilePath::write().

FilePath toParent  )  [inline, inherited]
 

Returns a FilePath representing the parent of this one. An exception is thrown if there is not parent (at the root).

Definition at line 525 of file FilePath.d.

References FilePath, FilePath::locateParent(), FilePath::path, and FilePath::reset().

bool isChild  )  [inline, inherited]
 

Returns true if this FilePath has a parent.

Definition at line 550 of file FilePath.d.

FilePath toSibling char[]  name  )  [inline, inherited]
 

Return a cloned FilePath with a different name.

Definition at line 561 of file FilePath.d.

Referenced by FilePath::toSibling().

FilePath toSibling char[]  name,
char[]  ext
[inline, inherited]
 

Return a cloned FilePath with a different name and extension. Note that the suffix is destroyed.

Definition at line 573 of file FilePath.d.

References FilePath::suffix, and FilePath::toSibling().

FilePath toSibling char[]  name,
char[]  ext,
char[]  suffix
[inline, inherited]
 

Return a cloned FilePath with a different name, extension, and suffix.

Definition at line 585 of file FilePath.d.

References FilePath::ext, FilePath, FilePath::name, FilePath::reset(), and FilePath::suffix.


The documentation for this class was generated from the following file:
Generated on Sat Dec 24 17:28:40 2005 for Mango by  doxygen 1.4.0