|
Class: HierarchicalURI
Object
|
+--URI
|
+--HierarchicalURI
|
+--FileURI
|
+--FtpURI
|
+--HttpURI
|
+--SftpURI
- Package:
- stx:libbasic2
- Category:
- Net-Resources
- Version:
- rev:
1.18
date: 2019/05/27 13:18:58
- user: cg
- file: HierarchicalURI.st directory: libbasic2
- module: stx stc-classLibrary: libbasic2
- Author:
- Stefan Vogel (stefan@zwerg)
Hierarchical URI as defined in RFC2396:
<scheme:[//authority][/absolute_path][?query][#fragment]>
[instance variables:]
[class variables:]
instance creation
-
new
-
-
scheme: aSchemeString fromString: aString
-
parse the hierarchical information.
schemeString is ignored here
accessing
-
authority
-
return the value of the instance variable 'authority' (automatically generated)
-
authority: something
-
set the value of the instance variable 'authority' (automatically generated)
-
baseName
-
(URI fromString:'file:/phys/exept/tmp/foo.html') baseName.
(URI fromString:'file:/phys/exept/tmp/foo') baseName.
(URI fromString:'file:/phys/exept/tmp/') baseName.
(URI fromString:'file:/phys/') baseName.
(URI fromString:'file:/phys') baseName.
(URI fromString:'file://phys/exept/tmp/foo.html') baseName.
(URI fromString:'file://phys/exept/tmp/foo') baseName.
(URI fromString:'file://phys/exept/tmp/') baseName.
(URI fromString:'file://phys/exept/tmp') baseName.
(URI fromString:'file://phys/exept/') baseName.
(URI fromString:'file://phys/exept') baseName.
(URI fromString:'file://phys/') baseName.
(URI fromString:'file://phys') baseName.
(URI fromString:'file://') baseName.
-
examples
-
more examples to be added:
[exBegin]
URI fromString:'file:/phys/exept/home/tm/tmp'
[exEnd]
-
fragment
-
return the value of the instance variable 'fragment' (automatically generated)
-
fragment: something
-
set the value of the instance variable 'fragment' (automatically generated)
-
isAbsolute
-
return the value of the instance variable 'isAbsolute' (automatically generated)
-
isDirectory
-
return the value of the instance variable 'isDirectory' (automatically generated)
-
pathSegments
-
return the value of the instance variable 'pathSegments' (automatically generated)
-
pathSegments: something
-
set the value of the instance variable 'pathSegments' (automatically generated)
-
query
-
return the value of the instance variable 'query' (automatically generated)
-
query: something
-
set the value of the instance variable 'query' (automatically generated)
accessing-details
-
host
-
answer the host part of authority
usage example(s):
(self fromString:'ftp://stefan@www.exept.de:80/test') host
(self fromString:'ftp://www.exept.de:80/test') host
(self fromString:'ftp://www.exept.de/test') host
|
-
password
-
answer the user part of authority
usage example(s):
(self fromString:'ftp://stefan@www.exept.de:80/test') password
(self fromString:'ftp://stefan:pass@www.exept.de:80/test') password
(self fromString:'ftp://www.exept.de:80/test') password
|
-
port
-
answer the port part of authority
usage example(s):
(self fromString:'ftp://stefan@www.exept.de:80/test') port
(self fromString:'ftp://www.exept.de:80/test') port
(self fromString:'ftp://www.exept.de/test') port
|
-
user
-
answer the user part of authority
usage example(s):
(self fromString:'ftp://stefan@www.exept.de:80/test') user
(self fromString:'ftp://stefan:pass@www.exept.de:80/test') user
(self fromString:'ftp://www.exept.de:80/test') user
|
comparing
-
= anHierarchicalUri
-
-
hash
-
copying-private
-
postCopy
-
defaults
-
defaultPort
-
answer the default port for the given scheme.
Concrete subclasses redefine this method
escape
-
unEscape
-
convert escaped characters (such as %20 for ' ') to their native
representation
initialization
-
fromString: aString
-
self new fromString:'//exept~/tmp'
self new fromString:'~/tmp'
self new fromString:'/~/tmp'
self new fromString:'//authority/path1/path2/'
self new fromString:'//authority/path1/path2?query'
self new fromString:'//authority/path1/path2?query#fragment'
self new fromString:'/path1/path2?query#fragment'
self new fromString:'/path1/path2#fragment'
self new fromString:'path1/path2#fragment'
-
initialize
-
printing & storing
-
directoryPath
-
answer the directory path part of the URI
-
path
-
answer the path part of the URI
-
printOn: aStream
-
-
printOn: aStream escape: doEscape
-
print the URI on aStream. If doEscape is set, escape special
characters
-
printPathOn: aStream escape: doEscape
-
print the path part
-
publicPrintOn: aStream
-
print, but omit password information
resolution
-
/ aString
-
concatenate aString to my path.
Same as #construct:, but simpler to use
-
addComponent: aString
-
concatenate aString to my path
-
construct: aString
-
concatenate aString to my path
-
directory
-
remove the last path component
-
removeLastComponent
-
remove the last component
more examples to be added:
|u1 u2|
u1 := URI fromString:'file:/phys/exept/tmp/'.
u2 := u1 construct:'test.txt'.
Transcript showCR:u1.
Transcript showCR:u2.
|
|u1 u2|
u1 := URI fromString:'file:/phys/exept/tmp'.
u2 := u1 construct:'test.txt'.
Transcript showCR:u1.
Transcript showCR:u2.
|
|