Package org.apache.sshd.common.scp
Class ScpLocation
- java.lang.Object
-
- org.apache.sshd.common.scp.ScpLocation
-
- All Implemented Interfaces:
Serializable
,Cloneable
,MutableUserHolder
,UsernameHolder
public class ScpLocation extends Object implements MutableUserHolder, Serializable, Cloneable
Represents a local or remote SCP location in the formatuser@host: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
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static char
HOST_PART_SEPARATOR
static char
USERNAME_PART_SEPARATOR
-
Constructor Summary
Constructors Constructor Description ScpLocation()
ScpLocation(String locSpec)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ScpLocation
clone()
boolean
equals(Object obj)
String
getHost()
String
getPath()
String
getUsername()
int
hashCode()
boolean
isLocal()
static ScpLocation
parse(String locSpec)
Parses a local or remote SCP location in the formatuser@host:path
String
resolveUsername()
Resolves the effective username to use for a remote location.void
setHost(String host)
void
setPath(String path)
void
setUsername(String username)
String
toString()
static <L extends ScpLocation>
Lupdate(String locSpec, L location)
Parses a local or remote SCP location in the formatuser@host:path
-
-
-
Field Detail
-
HOST_PART_SEPARATOR
public static final char HOST_PART_SEPARATOR
- See Also:
- Constant Field Values
-
USERNAME_PART_SEPARATOR
public static final char USERNAME_PART_SEPARATOR
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ScpLocation
public ScpLocation()
-
ScpLocation
public ScpLocation(String locSpec)
- Parameters:
locSpec
- The location specification - ignored ifnull
/empty- Throws:
IllegalArgumentException
- if invalid specification- See Also:
update(String, ScpLocation)
-
-
Method Detail
-
getHost
public String getHost()
-
setHost
public void setHost(String host)
-
isLocal
public boolean isLocal()
-
getUsername
public String getUsername()
- Specified by:
getUsername
in interfaceUsernameHolder
- Returns:
- The attached username - may be
null
/empty if holder not yet initialized
-
setUsername
public void setUsername(String username)
- Specified by:
setUsername
in interfaceMutableUserHolder
-
resolveUsername
public String resolveUsername()
Resolves the effective username to use for a remote location. If username not set then uses the current username- Returns:
- The resolved username
- See Also:
getUsername()
,OsUtils.getCurrentUser()
-
getPath
public String getPath()
-
setPath
public void setPath(String path)
-
clone
public ScpLocation clone()
-
parse
public static ScpLocation parse(String locSpec)
Parses a local or remote SCP location in the formatuser@host:path
- Parameters:
locSpec
- The location specification - ignored ifnull
/empty- Returns:
- The
ScpLocation
ornull
if no specification provider - Throws:
IllegalArgumentException
- if invalid specification- See Also:
update(String, ScpLocation)
-
update
public static <L extends ScpLocation> L update(String locSpec, L location)
Parses a local or remote SCP location in the formatuser@host:path
- Type Parameters:
L
- Type ofScpLocation
being updated- Parameters:
locSpec
- The location specification - ignored ifnull
/emptylocation
- TheScpLocation
to update - nevernull
- Returns:
- The updated location (unless no specification)
- Throws:
IllegalArgumentException
- if invalid specification
-
-