Top Description Fields Constructors Methods
org.apache.sshd.scp.common

public Class ScpLocation

extends Object
implements MutableUserHolder, Serializable, Cloneable
Class Inheritance
All Implemented Interfaces
java.lang.Cloneable, java.io.Serializable, org.apache.sshd.common.auth.MutableUserHolder, org.apache.sshd.common.auth.UsernameHolder
Imports
java.io.Serializable, java.util.Objects, org.apache.sshd.common.SshConstants, org.apache.sshd.common.auth.MutableUserHolder, org.apache.sshd.common.util.GenericUtils, .OsUtils, .ValidateUtils

Represents a local or remote SCP location in the format "user@host:path" or "scp://[user@]host[:port][/path]" for a remote path and a simple path for a local one. If user is omitted for a remote path then current user is used.
Author
Apache MINA SSHD Project

Field Summary

Modifier and TypeField and Description
private String
public static final char
private String
private int
public static final String
private static final long
private String
public static final char

Constructor Summary

AccessConstructor and Description
public
public
ScpLocation(String
The location specification - ignored if null/empty
locSpec
)

public
ScpLocation(String username, String host, String path)

public
ScpLocation(String username, String host, int port, String path)

Method Summary

Modifier and TypeMethod and Description
public ScpLocation
clone()

Overrides java.lang.Object.clone.

Creates and returns a copy of this object.

public boolean
equals(Object
the reference object with which to compare.
obj
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public String
public String
public int
public String
public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public boolean
public static ScpLocation

Returns:

The ScpLocation or null if no specification provider
parse
(String
The location specification - ignored if null/empty
locSpec
)

Parses a local or remote SCP location in the format "user@host:path" or "scp://[user@]host[:port][/path]"

public int
public String

Returns:

The resolved username
resolveUsername
()

Resolves the effective username to use for a remote location.

public void
public void
public void
setPort(int port)

public void
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public static <
Type of ScpLocation being updated
L extends ScpLocation
>
L

Returns:

The updated location (unless no specification)
update
(String
The location specification - ignored if null/empty
spec
,
L
The ScpLocation to update - never null
location
)

Parses a local or remote SCP location in the format "user@host:path" or "scp://[user@]host[:port][/path]"

Inherited from java.lang.Object:
finalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

hostback to summary
private String host
HOST_PART_SEPARATORback to summary
public static final char HOST_PART_SEPARATOR
pathback to summary
private String path
portback to summary
private int port
SCHEMEback to summary
public static final String SCHEME
serialVersionUIDback to summary
private static final long serialVersionUID
usernameback to summary
private String username
USERNAME_PART_SEPARATORback to summary
public static final char USERNAME_PART_SEPARATOR

Constructor Detail

ScpLocationback to summary
public ScpLocation()
ScpLocationback to summary
public ScpLocation(String locSpec)
Parameters
locSpec:String

The location specification - ignored if null/empty

Exceptions
IllegalArgumentException:
if invalid specification
See Also
update(String, ScpLocation)
ScpLocationback to summary
public ScpLocation(String username, String host, String path)
ScpLocationback to summary
public ScpLocation(String username, String host, int port, String path)

Method Detail

cloneback to summary
public ScpLocation clone()

Overrides java.lang.Object.clone.

Doc from java.lang.Object.clone.

Creates and returns a copy of this object. The precise meaning of "copy" may depend on the class of the object. The general intent is that, for any object x, the expression:

x.clone() != x
will be true, and that the expression:
x.clone().getClass() == x.getClass()
will be true, but these are not absolute requirements. While it is typically the case that:
x.clone().equals(x)
will be true, this is not an absolute requirement.

By convention, the returned object should be obtained by calling super.clone. If a class and all of its superclasses (except Object) obey this convention, it will be the case that x.clone().getClass() == x.getClass().

By convention, the object returned by this method should be independent of this object (which is being cloned). To achieve this independence, it may be necessary to modify one or more fields of the object returned by super.clone before returning it. Typically, this means copying any mutable objects that comprise the internal "deep structure" of the object being cloned and replacing the references to these objects with references to the copies. If a class contains only primitive fields or references to immutable objects, then it is usually the case that no fields in the object returned by super.clone need to be modified.

Returns:ScpLocation

a clone of this instance.

Annotations
@Override
equalsback to summary
public boolean equals(Object obj)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
obj:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
getHostback to summary
public String getHost()
getPathback to summary
public String getPath()
getPortback to summary
public int getPort()
getUsernameback to summary
public String getUsername()

Implements org.apache.sshd.common.auth.UsernameHolder.getUsername.

Returns:String

Doc from org.apache.sshd.common.auth.UsernameHolder.getUsername.

The attached username - may be null/empty if holder not yet initialized

Annotations
@Override
hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

Annotations
@Override
isLocalback to summary
public boolean isLocal()
parseback to summary
public static ScpLocation parse(String locSpec)

Parses a local or remote SCP location in the format "user@host:path" or "scp://[user@]host[:port][/path]"

Parameters
locSpec:String

The location specification - ignored if null/empty

Returns:ScpLocation

The ScpLocation or null if no specification provider

Exceptions
IllegalArgumentException:
if invalid specification
See Also
update(String, ScpLocation)
resolvePortback to summary
public int resolvePort()
resolveUsernameback to summary
public String resolveUsername()

Resolves the effective username to use for a remote location. If username not set then uses the current username

Returns:String

The resolved username

See Also
getUsername(), OsUtils#getCurrentUser()
setHostback to summary
public void setHost(String host)
setPathback to summary
public void setPath(String path)
setPortback to summary
public void setPort(int port)
setUsernameback to summary
public void setUsername(String username)

Implements org.apache.sshd.common.auth.MutableUserHolder.setUsername.

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
updateback to summary
public static <L extends ScpLocation> L update(String spec, L location)

Parses a local or remote SCP location in the format "user@host:path" or "scp://[user@]host[:port][/path]"

Parameters
<L>
Type of ScpLocation being updated
spec:String

The location specification - ignored if null/empty

location:L

The ScpLocation to update - never null

Returns:L

The updated location (unless no specification)

Exceptions
IllegalArgumentException:
if invalid specification