public class URIish
extends java.lang.Object
implements java.io.Serializable
Modifier and Type | Field and Description |
---|---|
private static java.util.regex.Pattern |
ABSOLUTE_SCP_URI
A pattern matching a SCP URI's of the form user@host:/path/to/repo.git
|
private static java.util.regex.Pattern |
FULL_URI
A pattern matching standard URI:
scheme "://" user_password? hostname? portnumber? path |
private java.lang.String |
host |
private static java.lang.String |
HOST_P
Part of a pattern which matches the host part of URIs.
|
private static java.util.regex.Pattern |
LOCAL_FILE
A pattern matching the reference to a local file.
|
private static java.lang.String |
OPT_DRIVE_LETTER_P
Part of a pattern which matches the optional drive letter in paths (e.g.
|
private static java.lang.String |
OPT_PORT_P
Part of a pattern which matches the optional port part of URIs.
|
private static java.lang.String |
OPT_USER_PWD_P
Part of a pattern which matches the optional user/password part (e.g.
|
private java.lang.String |
pass |
private java.lang.String |
path |
private static java.lang.String |
PATH_P
Part of a pattern which matches a relative or absolute path.
|
private int |
port |
private java.lang.String |
rawPath |
private static java.lang.String |
RELATIVE_PATH_P
Part of a pattern which matches a relative path.
|
private static java.util.regex.Pattern |
RELATIVE_SCP_URI
A pattern matching a SCP URI's of the form user@host:path/to/repo.git
|
private static java.util.BitSet |
reservedChars |
private java.lang.String |
scheme |
private static java.lang.String |
SCHEME_P
Part of a pattern which matches the scheme part (git, http, ...) of an
URI.
|
private static long |
serialVersionUID |
private static java.util.regex.Pattern |
SINGLE_SLASH_FILE_URI
A pattern matching a URI for the scheme 'file' which has only ':/' as
separator between scheme and path.
|
private java.lang.String |
user |
private static java.lang.String |
USER_HOME_P
Part of a pattern which matches the ~username part (e.g.
|
Modifier | Constructor and Description |
---|---|
|
URIish()
Create an empty, non-configured URI.
|
|
URIish(java.lang.String s)
Parse and construct an
URIish from a
string |
private |
URIish(URIish u) |
|
URIish(java.net.URL u)
Construct a URIish from a standard URL.
|
Modifier and Type | Method and Description |
---|---|
private java.lang.String |
cleanLeadingSlashes(java.lang.String p,
java.lang.String s) |
private static boolean |
eq(java.lang.String a,
java.lang.String b) |
boolean |
equals(java.lang.Object obj) |
private static java.lang.String |
escape(java.lang.String s,
boolean escapeReservedChars,
boolean encodeNonAscii)
Escape unprintable characters optionally URI-reserved characters
|
private java.lang.String |
format(boolean includePassword,
boolean escapeNonAscii) |
java.lang.String |
getHost()
Get host name part.
|
java.lang.String |
getHumanishName()
Get the "humanish" part of the path.
|
java.lang.String |
getPass()
Get password requested for transfer
|
java.lang.String |
getPath()
Get path name component
|
int |
getPort()
Get port number requested for transfer or -1 if not explicit
|
java.lang.String |
getRawPath()
Get path name component
|
java.lang.String |
getScheme()
Get protocol name
|
java.lang.String |
getUser()
Get user name requested for transfer
|
int |
hashCode() |
boolean |
isRemote()
Whether this URI references a repository on another system.
|
private java.lang.String |
n2e(java.lang.String s) |
private static int |
parseHexByte(byte c1,
byte c2) |
URIish |
setHost(java.lang.String n)
Return a new URI matching this one, but with a different host.
|
URIish |
setPass(java.lang.String n)
Return a new URI matching this one, but with a different password.
|
URIish |
setPath(java.lang.String n)
Return a new URI matching this one, but with a different path.
|
URIish |
setPort(int n)
Return a new URI matching this one, but with a different port.
|
URIish |
setRawPath(java.lang.String n)
Return a new URI matching this one, but with a different (raw) path.
|
URIish |
setScheme(java.lang.String n)
Return a new URI matching this one, but with a different scheme.
|
URIish |
setUser(java.lang.String n)
Return a new URI matching this one, but with a different user.
|
java.lang.String |
toASCIIString()
Get the URI as an ASCII string.
|
java.lang.String |
toPrivateASCIIString()
Convert the URI including password, formatted with only ASCII characters
such that it will be valid for use over the network.
|
java.lang.String |
toPrivateString()
Obtain the string form of the URI, with the password included.
|
java.lang.String |
toString() |
private static java.lang.String |
unescape(java.lang.String s) |
private static final java.lang.String SCHEME_P
private static final java.lang.String OPT_USER_PWD_P
private static final java.lang.String HOST_P
private static final java.lang.String OPT_PORT_P
private static final java.lang.String USER_HOME_P
private static final java.lang.String OPT_DRIVE_LETTER_P
private static final java.lang.String RELATIVE_PATH_P
private static final java.lang.String PATH_P
private static final long serialVersionUID
private static final java.util.regex.Pattern FULL_URI
scheme "://" user_password? hostname? portnumber? path
private static final java.util.regex.Pattern LOCAL_FILE
private static final java.util.regex.Pattern SINGLE_SLASH_FILE_URI
private static final java.util.regex.Pattern RELATIVE_SCP_URI
private static final java.util.regex.Pattern ABSOLUTE_SCP_URI
private java.lang.String scheme
private java.lang.String path
private java.lang.String rawPath
private java.lang.String user
private java.lang.String pass
private int port
private java.lang.String host
private static final java.util.BitSet reservedChars
public URIish(java.lang.String s) throws java.net.URISyntaxException
URIish
from a
strings
- a String
object.java.net.URISyntaxException
public URIish(java.net.URL u)
u
- the source URL to convert from.public URIish()
private URIish(URIish u)
private static int parseHexByte(byte c1, byte c2)
private static java.lang.String unescape(java.lang.String s) throws java.net.URISyntaxException
java.net.URISyntaxException
private static java.lang.String escape(java.lang.String s, boolean escapeReservedChars, boolean encodeNonAscii)
s
- The Java String to encode (may contain any character)escapeReservedChars
- true to escape URI reserved charactersencodeNonAscii
- encode any non-ASCII charactersprivate java.lang.String n2e(java.lang.String s)
private java.lang.String cleanLeadingSlashes(java.lang.String p, java.lang.String s)
public boolean isRemote()
public java.lang.String getHost()
public URIish setHost(java.lang.String n)
n
- the new value for host.public java.lang.String getScheme()
public URIish setScheme(java.lang.String n)
n
- the new value for scheme.public java.lang.String getPath()
public java.lang.String getRawPath()
public URIish setPath(java.lang.String n)
n
- the new value for path.public URIish setRawPath(java.lang.String n) throws java.net.URISyntaxException
n
- the new value for path.java.net.URISyntaxException
public java.lang.String getUser()
public URIish setUser(java.lang.String n)
n
- the new value for user.public java.lang.String getPass()
public URIish setPass(java.lang.String n)
n
- the new value for password.public int getPort()
public URIish setPort(int n)
n
- the new value for port.public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
private static boolean eq(java.lang.String a, java.lang.String b)
public java.lang.String toPrivateString()
public java.lang.String toString()
toString
in class java.lang.Object
private java.lang.String format(boolean includePassword, boolean escapeNonAscii)
public java.lang.String toASCIIString()
public java.lang.String toPrivateASCIIString()
public java.lang.String getHumanishName() throws java.lang.IllegalArgumentException
Path | Humanish part |
---|---|
/path/to/repo.git |
repo |
/path/to/repo.git/ |
|
/path/to/repo/.git |
|
/path/to/repo/ |
|
localhost |
ssh://localhost/ |
/path//to |
an empty string |
null
.java.lang.IllegalArgumentException
- if it's impossible to determine a humanish part, or path is
null
or emptygetPath()