eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'UnixFilename':



Class: UnixFilename



rev: 1.31 date: 2019/01/21 15:49:17
user: stefan
file: UnixFilename.st directory: libbasic
module: stx stc-classLibrary: libbasic


Filenames in Unix.

Class protocol:

o  defaultTempDirectoryName
return the default temp directory as a filename.
By default, this is '/tmp', but can be overriden by one of
the shell variables: ('STX_TMPDIR' 'ST_TMPDIR' 'TMPDIR' 'TEMPDIR' 'TEMP' 'TMP')

usage example(s):

     Filename defaultTempDirectoryName
     Filename defaultTempDirectoryName exists
     Filename defaultTempDirectoryName isWritable

o  nameWithSpecialExpansions: aString
return the nameString, expanding any OS specific macros.
Here, a ~/ or ~user/ prefix is expanded to the users home dir (as in csh)

usage example(s):

        self nameWithSpecialExpansions:'/usr/lib'
        self nameWithSpecialExpansions:'$JAVA_HOME/bin'
        self nameWithSpecialExpansions:'${JAVA_HOME}/bin'
        self nameWithSpecialExpansions:'${JAVA_HOME}-tttttt'
        self nameWithSpecialExpansions:'$(JAVA_HOME)/bin'
        self nameWithSpecialExpansions:'$(JAVA_HOME)bin'
        self nameWithSpecialExpansions:'~/work'
        self nameWithSpecialExpansions:'~stefan/test'

o  isBadCharacter: aCharacter
return true, if aCharacter is unallowed in a filename.

o  isCaseSensitive
return true, if filenames are case sensitive.
This is not really correct, as the sensitivity may depend on
the paricular mounted file system (NFS, for example)

o  nullFilename
Return /dev/null

usage example(s):

     Filename nullFilename  

o  parentDirectoryName
return the name used for the parent directory.
This is '..' for unix and dos-like systems.
(there may be more in the future.

o  separator
return the file/directory separator.

usage example(s):

      Filename concreteClass separator  

o  separatorString
return the file/directory separator as a string.

usage example(s):

     Filename separatorString  

Instance protocol:

file queries
o  fileType
this returns a string describing the type of contents of the file.
This is done using the unix 'file' command,
(which usually is configurable by /etc/magic).
Since the returned string differs among systems (and language settings),
it is only useful for user-information;
NOT as a tag to be used by a program.
For this, use mimeType or mimeTypeOfContents.

usage example(s):

ones are checked first, using the general fileType implementation. 

usage example(s):

     'Makefile' asFilename fileType 
     '.' asFilename fileType     
     '/dev/null' asFilename fileType        
     'smalltalk.rc' asFilename fileType    
     'bitmaps/SBrowser.xbm' asFilename fileType    
     '../../libtool/bitmaps/SBrowser.xbm' asFilename fileType    
     './stx' asFilename fileType    

o  isExplicitRelative
return true, if this name is an explicit relative name
(i.e. starts with './' or '../', to avoid path-prepending)

o  isHidden
return true, if the receiver represents a hidden file.
On UNIX, a name starting with a period is considered hidden.

o  isImplicit
return true, if the receiver represents builtin names such as '.' or '..'.
On UNIX, the current and parent dir names are considered implicit.

special accessing
o  osName
redefined from superclass, because we do not distinguish file and directory names

o  osNameForFile
internal - return the OS's name for the receiver to
access it as a file.


(self named:'/tmp/äöü') writeStream close

ST/X; WebServer 1.670 at bd0aa1f87cdd.unknown:8081; Thu, 26 May 2022 11:36:50 GMT