|
Class: HierarchicalURI
Object
|
+--URI
|
+--HierarchicalURI
|
+--FileURI
|
+--FtpURI
|
+--HttpURI
|
+--SftpURI
- Package:
- stx:libbasic2
- Category:
- Net-Resources
- Version:
- rev:
1.20
date: 2021/01/20 14:31:33
- user: cg
- file: HierarchicalURI.st directory: libbasic2
- module: stx stc-classLibrary: libbasic2
Hierarchical URI as defined in RFC2396:
<scheme:[//authority][/absolute_path][?query][#fragment]>
[instance variables:]
[class variables:]
copyrightCOPYRIGHT (c) 2002 by eXept Software AG
All Rights Reserved
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
instance creation
-
new
-
(comment from inherited method)
return an instance of myself without indexed variables
-
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.
-
directoryPath
-
answer the directory path part of the URI
-
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)
-
path
-
answer the path part of the URI
-
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
-
(comment from inherited method)
this is for compatibility with ST-80 code, which uses postCopy for
cleanup after copying, while ST/X passes the original in postCopyFrom:
(see there)
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
-
(comment from inherited method)
just to ignore initialize to objects which do not need it
printing & storing
-
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.
|
|