Changeset 12613


Ignore:
Timestamp:
04/15/10 14:51:18 (13 years ago)
Author:
Mark Evenson
Message:

Document URL and jar pathname design changes.

Location:
trunk/abcl/doc/design/pathnames
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/doc/design/pathnames/jar-pathnames.markdown

    r12607 r12613  
    44    Mark Evenson
    55    Created:  09 JAN 2010
    6     Modified: 25 MAR 2010
     6    Modified: 10 APR 2010
    77
    88Notes towards an implementation of "jar:" references to be contained
     
    8383The DEVICE of a JAR PATHNAME will be a list with either one or two
    8484elements.  The first element of the JAR PATHNAME can be either a
    85 PATHNAME representing a JAR on the filesystem, or a SimpleString
    86 representing a URL.
     85PATHNAME representing a JAR on the filesystem, or a URL PATHNAME.
    8786
    8887A PATHNAME occuring in the list in the DEVICE of a JAR PATHNAME is
    8988known as a DEVICE PATHNAME.
    9089
    91 If the DEVICE is a String it must be a String that successfully
    92 references a URL via the java.net.URL(String) constructor
    93 
    94 Only the first entry in the the DEVICE list may be a String.
     90Only the first entry in the the DEVICE list may be a URL PATHNAME.
    9591
    9692Otherwise the the DEVICE PATHAME denotes the PATHNAME of the JAR file.
     
    10298with the :ABSOLUTE keyword.  Even though hierarchial entries in jar
    10399files are stored in the form "foo/bar/a.lisp" not "/foo/bar/a.lisp",
    104 the meaning of DIRECTORY component better represented as an absolute
    105 path.
     100the meaning of DIRECTORY component is better represented as an
     101absolute path.
    106102
    107103A jar Pathname has type JAR-PATHNAME, derived from PATHNAME.
     104
    108105
    109106BNF
     
    222219      namestring: "jar:http://example.org/abcl.jar!/org/armedbear/lisp/Version.class",
    223220      device: (
    224         "http://example.org/abcl.jar"
     221        pathname: {
     222          namestring: "http://example.org/abcl.jar"
     223        }
    225224        pathname: {
    226225          directory: (:RELATIVE "org" "armedbear" "lisp")
     
    234233       namestring  "jar:jar:http://example.org/abcl.jar!/foo.abcl!/foo-1.cls"
    235234       device: (
    236          "http://example.org/abcl.jar"
     235         pathname: {
     236           namestring: "http://example.org/abcl.jar"
     237         }
    237238         pathname: {
    238239           name: "foo"
     
    307308                  type: "abcl"
    308309                }
     310              )
    309311    }
    310312
     
    313315to have been considerably simplified.
    314316
     317When we implemented URL Pathnames, the special syntax for URL as an
     318abstract string in the first position of the device list was naturally
     319replaced with a URL pathname.
     320
     321
  • trunk/abcl/doc/design/pathnames/url-pathnames.markdown

    r12607 r12613  
    44    Mark Evenson
    55    Created:  25 MAR 2010
    6     Modified: 26 MAR 2010
     6    Modified: 11 APR 2010
    77
    88Notes towards an implementation of URL references to be contained in
     
    9090        Valid authority according to the URI scheme.  For "http" this
    9191        could be "example.org:8080".
     92    :QUERY
     93        The query of the URI
     94    :FRAGMENT
     95        The fragment portion of the URI
    9296       
    9397The DIRECTORY, NAME and TYPE fields of the PATHNAME are used to form
    9498the URI `path` according to the conventions of the UNIX filesystem
    95 (i.e. '/' is the directory separator). If needed, `query` and `fragment`
    96 portions of a URL are to be included in the URL pathname NAME
    97 component.  In a sense the HOST contains the base URL, to which the
    98 `path` is a relative URL.
     99(i.e. '/' is the directory separator).  In a sense the HOST contains
     100the base URL, to which the `path` is a relative URL (although this
     101abstraction is violated somwhat by the storing of the QUERY and
     102FRAGMENT portions of the URI in the HOST component).
    99103
    100104For the purposes of PATHNAME-MATCH-P, two URL pathnames may be said to
Note: See TracChangeset for help on using the changeset viewer.