org.tmatesoft.svn.core

Class SVNURL

public class SVNURL extends Object

The SVNURL class is used for representing urls. Those SVNKit API methods, that need repository locations to carry out an operation, receive a repository location url represented by SVNURL. This class does all the basic work for a caller: parses an original url string (splitting it to components), encodes/decodes a path component to/from the UTF-8 charset, checks for validity (such as protocol support - if SVNKit does not support a particular protocol, SVNURL throws a corresponding exception).

To create a new SVNURL representation, pass an original url string (like "http://userInfo@host:port/path") to a corresponding parse method of this class.

Version: 1.1.1

Author: TMate Software Ltd.

See Also: Examples

Method Summary
SVNURLappendPath(String segment, boolean uriEncoded)
Constructs a new SVNURL representation appending a new path segment to the path component of this representation.
static SVNURLcreate(String protocol, String userInfo, String host, int port, String path, boolean uriEncoded)
Creates a new SVNURL representation from the given url components.
booleanequals(Object obj)
Compares this object with another one.
static SVNURLfromFile(File repositoryPath)
Creates a "file:///" SVNURL representation given a filesystem style repository path.
static intgetDefaultPortNumber(String protocol)
Returns the default port number for the specified protocol.
StringgetHost()
Returns the host component of the url represented by this object.
StringgetPath()
Returns the path component of the url represented by this object as a uri-decoded string
intgetPort()
Returns the port number specified (or default) for the host.
StringgetProtocol()
Returns the protocol component of the url represented by this object.
StringgetURIEncodedPath()
Returns the path component of the url represented by this object as a uri-encoded string
StringgetUserInfo()
Returns the user info component of the url represented by this object.
inthashCode()
Calculates and returns a hash code for this object.
booleanhasPort()
Says if the url is provided with a non-default port number or not.
static SVNURLparseURIDecoded(String url)
Parses the given decoded (not UTF-8 encoded) url string and creates a new SVNURL representation for this url.
static SVNURLparseURIEncoded(String url)
Parses the given UTF-8 encoded url string and creates a new SVNURL representation for this url.
SVNURLremovePathTail()
Constructs a new SVNURL representation removing a tail path segment from the path component of this representation.
SVNURLsetPath(String path, boolean uriEncoded)
Creates a new SVNURL object replacing a path component of this object with a new provided one.
StringtoDecodedString()
Returns a string representing a decoded url.
StringtoString()
Returns a string representing a UTF-8 encoded url.

Method Detail

appendPath

public SVNURL appendPath(String segment, boolean uriEncoded)
Constructs a new SVNURL representation appending a new path segment to the path component of this representation.

Parameters: segment a new path segment uriEncoded true if segment is UTF-8 encoded, false otherwise

Returns: a new SVNURL representation

Throws: SVNException if a parse error occurred

create

public static SVNURL create(String protocol, String userInfo, String host, int port, String path, boolean uriEncoded)
Creates a new SVNURL representation from the given url components.

Parameters: protocol a protocol component userInfo a user info component host a host component port a port number path a path component uriEncoded true if path is UTF-8 encoded, false otherwise

Returns: a new SVNURL representation

Throws: SVNException if the resultant url (composed of the given components) is malformed

equals

public boolean equals(Object obj)
Compares this object with another one.

Parameters: obj an object to compare with

Returns: true if obj is an instance of SVNURL and has got the same url components as this object has

fromFile

public static SVNURL fromFile(File repositoryPath)
Creates a "file:///" SVNURL representation given a filesystem style repository path.

Parameters: repositoryPath a repository path as a filesystem path

Returns: an SVNURL representation

Throws: SVNException

getDefaultPortNumber

public static int getDefaultPortNumber(String protocol)
Returns the default port number for the specified protocol.

Parameters: protocol a particular access protocol

Returns: default port number

getHost

public String getHost()
Returns the host component of the url represented by this object.

Returns: a host name

getPath

public String getPath()
Returns the path component of the url represented by this object as a uri-decoded string

Returns: a uri-decoded path

getPort

public int getPort()
Returns the port number specified (or default) for the host.

Returns: a port number

getProtocol

public String getProtocol()
Returns the protocol component of the url represented by this object.

Returns: a protocol name (like http)

getURIEncodedPath

public String getURIEncodedPath()
Returns the path component of the url represented by this object as a uri-encoded string

Returns: a uri-encoded path

getUserInfo

public String getUserInfo()
Returns the user info component of the url represented by this object.

Returns: a user info part of the url (if it was provided)

hashCode

public int hashCode()
Calculates and returns a hash code for this object.

Returns: a hash code value

hasPort

public boolean hasPort()
Says if the url is provided with a non-default port number or not.

Returns: true if the url comes with a non-default port number, false otherwise

See Also: getPort

parseURIDecoded

public static SVNURL parseURIDecoded(String url)
Parses the given decoded (not UTF-8 encoded) url string and creates a new SVNURL representation for this url.

Parameters: url an input url string (like 'http://myhost/mypath')

Returns: a new SVNURL representation of url

Throws: SVNException if url is malformed

parseURIEncoded

public static SVNURL parseURIEncoded(String url)
Parses the given UTF-8 encoded url string and creates a new SVNURL representation for this url.

Parameters: url an input url string (like 'http://myhost/my%20path')

Returns: a new SVNURL representation of url

Throws: SVNException if url is malformed

removePathTail

public SVNURL removePathTail()
Constructs a new SVNURL representation removing a tail path segment from the path component of this representation.

Returns: a new SVNURL representation

Throws: SVNException

setPath

public SVNURL setPath(String path, boolean uriEncoded)
Creates a new SVNURL object replacing a path component of this object with a new provided one.

Parameters: path a path component uriEncoded true if path is UTF-8 encoded

Returns: a new SVNURL representation

Throws: SVNException if a parse error occurred

toDecodedString

public String toDecodedString()
Returns a string representing a decoded url.

Returns: a decoded url string

toString

public String toString()
Returns a string representing a UTF-8 encoded url.

Returns: an encoded url string

Copyright © 2004-2007 TMate Software Ltd. All Rights Reserved.