org.vrspace.vfs
Class Location

java.lang.Object
  extended byorg.vrspace.vfs.Location

public class Location
extends java.lang.Object


Nested Class Summary
 class Location.WMLHandler
           
 
Field Summary
 boolean canParse
          can we parse content of this location (false if !valid)
 long connectTime
          time needed to connect (ms)
 long expires
          expires
 java.util.HashMap fields
          http fields
 java.lang.String javaType
          MIME retreived by URLConnection.guessContentTypeFromStream()
 long lastAccess
          last access time (ms)
 long lastModified
          last modification date
 int length
          content length, default = -1 (N/A)
 Location parent
          parent location
 long timeDistance
          time distance: remote time - local time (most servers get time wrong)
 java.net.URL url
          URL
 java.lang.String urlType
          MIME retreived by URLConnection.getContentType()
 boolean valid
          is this location valid (url is valid and was accessible during last try)
 
Constructor Summary
Location(Location url, java.lang.String loc)
           
Location(java.lang.String loc)
           
Location(java.net.URL url, java.lang.String loc)
           
 
Method Summary
 void addField(java.lang.String name, java.lang.String value)
           
 java.lang.String getField(java.lang.String name)
           
 java.util.Map getFields()
           
 java.io.InputStream getInputStream()
           
static Location getInstance(Location parent, java.lang.String loc, boolean test)
          Utility method.
 void getTree(int depth, boolean otherHosts)
           
 java.net.URL getURL()
           
 boolean isHTML()
           
 boolean isXML()
           
static void main(java.lang.String[] args)
           
 java.net.URLConnection openConnection()
          Connect to the source.
 void parse(boolean verify)
           
 boolean testConnect()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

valid

public boolean valid
is this location valid (url is valid and was accessible during last try)


urlType

public java.lang.String urlType
MIME retreived by URLConnection.getContentType()


javaType

public java.lang.String javaType
MIME retreived by URLConnection.guessContentTypeFromStream()


lastAccess

public long lastAccess
last access time (ms)


length

public int length
content length, default = -1 (N/A)


canParse

public boolean canParse
can we parse content of this location (false if !valid)


connectTime

public long connectTime
time needed to connect (ms)


parent

public Location parent
parent location


fields

public java.util.HashMap fields
http fields


lastModified

public long lastModified
last modification date


expires

public long expires
expires


timeDistance

public long timeDistance
time distance: remote time - local time (most servers get time wrong)


url

public java.net.URL url
URL

Constructor Detail

Location

public Location(java.lang.String loc)
         throws java.net.MalformedURLException

Location

public Location(java.net.URL url,
                java.lang.String loc)
         throws java.net.MalformedURLException

Location

public Location(Location url,
                java.lang.String loc)
         throws java.net.MalformedURLException
Method Detail

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Throws:
java.lang.Exception

getInstance

public static Location getInstance(Location parent,
                                   java.lang.String loc,
                                   boolean test)
                            throws java.io.IOException,
                                   java.net.MalformedURLException
Utility method. Checks whether connection exists, performs some url checks, updates state variables...

Parameters:
parent - Parent Location. May be null for root element.
loc - URL spec. Can be file relative to current dir etc.
test - Whether to check connection. Once connected, mime types and other fields are updated.
Throws:
java.io.IOException
java.net.MalformedURLException
See Also:
urlType, javaType

getURL

public java.net.URL getURL()

toString

public java.lang.String toString()

isXML

public boolean isXML()

isHTML

public boolean isHTML()

addField

public void addField(java.lang.String name,
                     java.lang.String value)

getField

public java.lang.String getField(java.lang.String name)

getFields

public java.util.Map getFields()

testConnect

public boolean testConnect()

openConnection

public java.net.URLConnection openConnection()
                                      throws java.io.IOException
Connect to the source. Updates header fields.

Throws:
java.io.IOException

getInputStream

public java.io.InputStream getInputStream()
                                   throws java.io.IOException
Throws:
java.io.IOException

parse

public void parse(boolean verify)
           throws java.lang.Exception
Parameters:
verify - Check if links inside document point to an existing document
Throws:
java.lang.Exception

getTree

public void getTree(int depth,
                    boolean otherHosts)
             throws java.lang.Exception
Parameters:
depth - recursion depth
otherHosts - Whether to go to other hosts
Throws:
java.lang.Exception