Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "Development/NestedFilesystem" page has been changed by jboynes:
https://wiki.apache.org/tomcat/Development/NestedFilesystem?action=diff&rev1=1&rev2=2

  
  Zip files may contain data in addition to the archive entries such as 
executable code for self-extracting archives or text comments describing the 
archive.
  
+ == Zip Indexing ==
+ TBD
+ 
  == URI Structure ==
  
+ The !FileSystem API allows a Path to be converted to a URI and a URI to be 
converted to a Path. The scheme component of the URI is used to identify the 
!FileSystemProvider but the remaining components are provider specific. The 
Path.toUri() method mentions that the URI may be used to encode the URI of the 
enclosing !FileSystem but does not define how that should be done. We define a 
mechanism based on encoding the parent in the authority component of a 
hierarchical URI.
  
+ Following [[https://www.ietf.org/rfc/rfc3986.txt|RFC 3986]], the format for a 
Path's URI will be: {{{
+ uri           = scheme ":" "//" authority 1*( "/" segment )
+ authority     = host
+ host          = reg-name
+ reg-name      = *( unreserved / pct-encoded / sub-delims )
+ unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
+ sub-delims    = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / 
"="
+ pct-encoded   = "%" HEXDIG HEXDIG
+ }}}
+ where the {{{authority}} component is used to contain the URI of the Path to 
the archive. Any characters not allow in a {{{reg-name}}} (specifically 
including "/" and ":") will be pct-encoded.
+ 
+ As an example, the entry {{{com/example/Main.class}}} located in the archive 
{{{/tmp/example.jar}}} whose Path has the URI {{{file:///tmp/example.jar}}} 
would have the URI {{{
+ archive:file%3a%2f%2f%2ftmp%2fexample.jar/com/example/Main.class
+ }}}
+ If that JAR was included in the {{{WEB-INF/lib}}} directory of a WAR located 
at {{{/tmp/example.war}}} the full compound URI of the Main class would be {{{
+ 
archive:archive%3afile%253a%252f%252f%252ftmp%25%2fexample.war%2fWEB-INF%2flib%2fexample.jar/com/example/Main.class
+ }}}
+ 
+ == URL Support ==
+ TBD
+ 
+ == URLClassLoader Support ==
+ TBD
  
  == ToDos ==
+  * a way to read the zip’s central directory
+  * a way to seek into a deflated zip entry without inflating the entire thing
+  * is a ClassLoader from a list of Path helpful?
+  * how to deal with the locking model on Windows platform
+  * how to work with Paths that are directories - do we get this for free?
+  * how to use the WatchService to detect changes e.g. web.xml or *.jsp 
touched?
+ 
+ == Performance Measurements ==
+ 
  = Limitations in standard JDK APIs =
  
  == Zip Handling ==

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to