Package org.eclipse.jgit.transport

## Class URIish

- java.lang.Object
- - org.eclipse.jgit.transport.URIish

All Implemented Interfaces:
  `Serializable`

    public class URIish
    extends Object
    implements Serializable

This URI like construct used for referencing Git archives over the net, as well as locally stored archives. It is similar to RFC 2396 URI's, but also support SCP and the malformed file://<path> syntax (as opposed to the correct file:<path> syntax.

See Also:
  Serialized Form

### Constructor Summary

Constructors
`URIish()` Create an empty, non-configured URI.
`URIish​(String s)` Parse and construct an `URIish` from a string
`URIish​(URL u)` Construct a URIish from a standard URL.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `equals​(Object obj)`
`String` `getHost()`
`String` `getHumanishName()` Get the "humanish" part of the path.
`String` `getPass()`
`String` `getPath()`
`int` `getPort()`
`String` `getRawPath()`
`String` `getScheme()`
`String` `getUser()`
`int` `hashCode()`
`boolean` `isRemote()`
`URIish` `setHost​(String n)` Return a new URI matching this one, but with a different host.
`URIish` `setPass​(String n)` Return a new URI matching this one, but with a different password.
`URIish` `setPath​(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​(String n)` Return a new URI matching this one, but with a different (raw) path.
`URIish` `setScheme​(String n)` Return a new URI matching this one, but with a different scheme.
`URIish` `setUser​(String n)` Return a new URI matching this one, but with a different user.
`String` `toASCIIString()`
`String` `toPrivateASCIIString()`
`String` `toPrivateString()` Obtain the string form of the URI, with the password included.
`String` `toString()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### URIish

    public URIish​(String s)
           throws URISyntaxException

Parse and construct an `URIish` from a string

Parameters:
  `s` -
Throws:
  `URISyntaxException`

#### URIish

    public URIish​(URL u)

Construct a URIish from a standard URL.

Parameters:
  `u` - the source URL to convert from.

#### URIish

    public URIish()

Create an empty, non-configured URI.

### Method Detail

#### isRemote

    public boolean isRemote()

Returns:
  true if this URI references a repository on another system.

#### getHost

    public String getHost()

Returns:
  host name part or null

#### setHost

    public URIish setHost​(String n)

Return a new URI matching this one, but with a different host.

Parameters:
  `n` - the new value for host.
Returns:
  a new URI with the updated value.

#### getScheme

    public String getScheme()

Returns:
  protocol name or null for local references

#### setScheme

    public URIish setScheme​(String n)

Return a new URI matching this one, but with a different scheme.

Parameters:
  `n` - the new value for scheme.
Returns:
  a new URI with the updated value.

#### getPath

    public String getPath()

Returns:
  path name component

#### getRawPath

    public String getRawPath()

Returns:
  path name component

#### setPath

    public URIish setPath​(String n)

Return a new URI matching this one, but with a different path.

Parameters:
  `n` - the new value for path.
Returns:
  a new URI with the updated value.

#### setRawPath

    public URIish setRawPath​(String n)
                      throws URISyntaxException

Return a new URI matching this one, but with a different (raw) path.

Parameters:
  `n` - the new value for path.
Returns:
  a new URI with the updated value.
Throws:
  `URISyntaxException`

#### getUser

    public String getUser()

Returns:
  user name requested for transfer or null

#### setUser

    public URIish setUser​(String n)

Return a new URI matching this one, but with a different user.

Parameters:
  `n` - the new value for user.
Returns:
  a new URI with the updated value.

#### getPass

    public String getPass()

Returns:
  password requested for transfer or null

#### setPass

    public URIish setPass​(String n)

Return a new URI matching this one, but with a different password.

Parameters:
  `n` - the new value for password.
Returns:
  a new URI with the updated value.

#### getPort

    public int getPort()

Returns:
  port number requested for transfer or -1 if not explicit

#### setPort

    public URIish setPort​(int n)

Return a new URI matching this one, but with a different port.

Parameters:
  `n` - the new value for port.
Returns:
  a new URI with the updated value.

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### equals

    public boolean equals​(Object obj)

Overrides:
  `equals` in class `Object`

#### toPrivateString

    public String toPrivateString()

Obtain the string form of the URI, with the password included.

Returns:
  the URI, including its password field, if any.

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### toASCIIString

    public String toASCIIString()

Returns:
  the URI as an ASCII string. Password is not included.

#### toPrivateASCIIString

    public String toPrivateASCIIString()

Returns:
  the URI including password, formatted with only ASCII characters such that it will be valid for use over the network.

#### getHumanishName

    public String getHumanishName()
                           throws IllegalArgumentException

Get the "humanish" part of the path. Some examples of a 'humanish' part for a full path:

Path | Humanish part
--- | ---
`/path/to/repo.git` | `repo`
`/path/to/repo.git/`
`/path/to/repo/.git`
`/path/to/repo/`
`/path//to` | an empty string

Returns:
  the "humanish" part of the path. May be an empty string. Never `null`.
Throws:
  `IllegalArgumentException` - if it's impossible to determine a humanish part, or path is `null` or empty
See Also:
  `getPath()`