URIlib Library

You are probably very familiar with the URL - a Uniform Resource Locator. It's that thing in the Location box on the web browser. They belong to a much bigger family of resource describers called URIs - Uniform Resource Identifier. The standard java libraries of java.net only provide a very limited capability to deal with URLs only. You could not use it to provide a proper, customised web browser for example without a lot of very serious hacking of the system.

The aim of this library is two-fold:

  • Provide a complete URL/URN/URI resolver capability in line with the relevant IETF RFC's.
  • Provide a system that has all the capabilites for a standard web browser or other graphical client.

    It is designed as a close to plugin replacement for the java.net. That is, most of the APIs look exactly the same, except now there are much greater capabilities (ie extra methods). The only thing that needs to generally change is the import line.


    Development Info

    The library is broken into two separate parts - the core library that implements the RFC specifications and deals with managing all of the resources required, and a set of implementations of various protocols, content loaders and other elements required to make the system work and a proper security system for those connections that require passwords etc.

    This library has been in use for 2 years in a number of commercial applications. The stability is excellent and suffers from no major bugs that we're aware of. The only reason this is not a 1.0 release is the wish to develop a few more libraries for resolvers.

    The library consists of the following major package areas:

    org.ietf.uri

    The major package that implements the IETF RFCs. This provides the abstraction and management code for resolving URIs, loading them and ensuring that they behave correctly. There are three packages in total in this area
  • org.ietf.uri The main package including all of the classes that represent a URI and fetch information from it.
  • org.ietf.uri.event Event classes and listener interfaces that provide asyncrhonous feedback. Messages about how the download is going, errors and other feedback.
  • org.ietf.uri.resolve Common exceptions for resolver implementations.

    vlc.net.resolve

    Implementations of various URI resolver mechanisms. The current library comes with THTTP and file based resolvers.

    vlc.net.protocol

    Protocol handlers. Once you have found the machine to go to, then you need talk to it directly. Protocol handlers are the implementations of specific protocols. The current handled protocols are: FTP is not yet implemented.

    vlc.net.content

    Content handlers take the raw bytes from the stream presented by the protocol handler and turn them into Java objects. For example it could create an image file, text string or Java class. The following content handlers are available (based on MIME type). Content handlers for dealing with images are in a separate downloadable area on this site - here. Handlers for multipart and java classes are coming.


    Downloading

    License: GNU LGPL

    Last Stable Version: 0.8

    CVSROOT: :pserver:anonymous@case.vlc.com.au:/home/cvs/code/cvsroot
    password: anonymous

    CVS Module Name: uri

    CVS Stable Tag: 0-8-BETA1

    Prebuilt software
    Zip: FTP HTTP
    Tar.gz: FTP HTTP

    Documentation
    Zip: FTP HTTP
    Tar.gz: FTP HTTP
    Online


    [ About ] [ Software ] [ CVS Info ] [ Resources ]