Package net.ontopia.infoset.impl.basic
Class URILocator
java.lang.Object
net.ontopia.infoset.impl.basic.AbstractLocator
net.ontopia.infoset.impl.basic.URILocator
- All Implemented Interfaces:
Externalizable,Serializable,LocatorIF
PUBLIC: A Uniform Resource Identifier locator. Only URI locators
should be used with this locator class. The notation is 'URI'.
The address is always normalized by the constructor. The address given to the constructor must be absolute.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringprotected shortprotected shortprotected shortprotected short -
Constructor Summary
ConstructorsModifierConstructorDescriptionINTERNAL: No-argument constructor used by serialization.URILocator(File file) PUBLIC: Creates a URILocator containing a file URL referring to the file represented by the File object.URILocator(String address) PUBLIC: Creates a URILocator representing the URI given.protectedURILocator(String normalized, short schemeEnd, short authorityEnd, short lastSlash, short fragmentStart) INTERNAL: Special constructor used when resolving a URI relative to a base URI.URILocator(URL url) PUBLIC: Creates a URILocator representing the URL given. -
Method Summary
Modifier and TypeMethodDescriptionstatic URILocatorINTERNAL: Parses the URI and returns an instance of URILocator if the URI is valid.booleanPUBLIC: Two LocatorIFs are considered equal if they have the same address and notation properties.PUBLIC: Returns the locator address in absolute and normalized form.PUBLIC: Returns the address of the locator in external form; that is, with special characters that need to be escaped escaped using the escape syntax of the locator notation.PUBLIC: Gets the locator notation.inthashCode()PUBLIC: Returns the hashcode of the address property.protected StringintparseDirectoryPart(char[] uri, int ix, int length) voidresolveAbsolute(String rel) PUBLIC: Given a locator address string that is relative to this locator, return an absolute locator.protected static StringtoExternalForm(String address) voidMethods inherited from class net.ontopia.infoset.impl.basic.AbstractLocator
toString
-
Field Details
-
address
-
schemeEnd
protected short schemeEnd -
authorityEnd
protected short authorityEnd -
lastSlash
protected short lastSlash -
fragmentStart
protected short fragmentStart
-
-
Constructor Details
-
URILocator
public URILocator()INTERNAL: No-argument constructor used by serialization. Do not use this constructor in application code. -
URILocator
PUBLIC: Creates a URILocator representing the URI given. Note that the URI string should be in external form, and that it must be absolute.- Throws:
MalformedURLException
-
URILocator
PUBLIC: Creates a URILocator representing the URL given.- Throws:
MalformedURLException
-
URILocator
PUBLIC: Creates a URILocator containing a file URL referring to the file represented by the File object.- Since:
- 1.3.4
-
URILocator
protected URILocator(String normalized, short schemeEnd, short authorityEnd, short lastSlash, short fragmentStart) INTERNAL: Special constructor used when resolving a URI relative to a base URI. Since the base URI is already normalized we can avoid repeating the normalization, and thus save time.
-
-
Method Details
-
normalize
- Throws:
MalformedURLException
-
getNotation
Description copied from interface:LocatorIFPUBLIC: Gets the locator notation. The default notation is URI. Ontopia will never use notation names which begin with 'x-'. Notation names are case-insensitive.Note that only the URI notation is supported in release OKS 4.0 and newer.
- Specified by:
getNotationin interfaceLocatorIF
-
getAddress
Description copied from interface:LocatorIFPUBLIC: Returns the locator address in absolute and normalized form. Whether addresses are case-sensitive or not depends on the locator notation.- Specified by:
getAddressin interfaceLocatorIF
-
resolveAbsolute
Description copied from interface:LocatorIFPUBLIC: Given a locator address string that is relative to this locator, return an absolute locator. If the input locator address is absolute the returned locator object will simply contain that absolute locator address.- Specified by:
resolveAbsolutein interfaceLocatorIF
-
getExternalForm
Description copied from interface:LocatorIFPUBLIC: Returns the address of the locator in external form; that is, with special characters that need to be escaped escaped using the escape syntax of the locator notation.- Specified by:
getExternalFormin interfaceLocatorIF
-
toExternalForm
-
parseDirectoryPart
- Throws:
MalformedURLException
-
hashCode
public int hashCode()Description copied from class:AbstractLocatorPUBLIC: Returns the hashcode of the address property. All subclasses of AbstractLocator must use the same hashCode implementation in order to guarantee interoperability. E.g. when looking up LocatorIFs in Maps.- Overrides:
hashCodein classAbstractLocator
-
equals
Description copied from class:AbstractLocatorPUBLIC: Two LocatorIFs are considered equal if they have the same address and notation properties.- Overrides:
equalsin classAbstractLocator
-
writeExternal
- Specified by:
writeExternalin interfaceExternalizable- Throws:
IOException
-
readExternal
- Specified by:
readExternalin interfaceExternalizable- Throws:
IOExceptionClassNotFoundException
-
create
INTERNAL: Parses the URI and returns an instance of URILocator if the URI is valid. If the URI is invalid null is returned.- Since:
- 3.0
-