Class HostPatternsHolder
- java.lang.Object
-
- org.apache.sshd.client.config.hosts.HostPatternsHolder
-
- Direct Known Subclasses:
HostConfigEntry
,KnownHostEntry
public abstract class HostPatternsHolder extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ALL_HOSTS_PATTERN
static char
NEGATION_CHAR_PATTERN
Used to negate a host patternstatic char
NON_STANDARD_PORT_PATTERN_ENCLOSURE_END_DELIM
Non-standard port specification host pattern enclosure end delimiterstatic char
NON_STANDARD_PORT_PATTERN_ENCLOSURE_START_DELIM
Non-standard port specification host pattern enclosure start delimiterstatic java.lang.String
PATTERN_CHARS
The available pattern charactersprivate java.util.Collection<HostPatternValue>
patterns
static char
PORT_VALUE_DELIMITER
Port value separator if non-standard port pattern usedstatic char
SINGLE_CHAR_PATTERN
Used in a host pattern to denote any one characterstatic char
WILDCARD_PATTERN
Used in a host pattern to denote zero or more consecutive characters
-
Constructor Summary
Constructors Modifier Constructor Description protected
HostPatternsHolder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Collection<HostPatternValue>
getPatterns()
boolean
isHostMatch(java.lang.String host, int port)
Checks if a given host name / address matches the entry's host pattern(s)static boolean
isHostMatch(java.lang.String host, int port, java.util.Collection<HostPatternValue> patterns)
static boolean
isHostMatch(java.lang.String host, java.util.regex.Pattern pattern)
Checks if a given host name / address matches a host patternstatic boolean
isPortMatch(int port1, int port2)
static boolean
isSpecificHostPattern(java.lang.String pattern)
static boolean
isValidPatternChar(char ch)
Checks if the given character is valid for a host pattern.static java.util.List<HostPatternValue>
parsePatterns(java.lang.CharSequence... patterns)
static java.util.List<HostPatternValue>
parsePatterns(java.util.Collection<? extends java.lang.CharSequence> patterns)
void
setPatterns(java.util.Collection<HostPatternValue> patterns)
static HostPatternValue
toPattern(java.lang.CharSequence patternString)
Converts a host pattern string to a regular expression matcher.
-
-
-
Field Detail
-
WILDCARD_PATTERN
public static final char WILDCARD_PATTERN
Used in a host pattern to denote zero or more consecutive characters- See Also:
- Constant Field Values
-
ALL_HOSTS_PATTERN
public static final java.lang.String ALL_HOSTS_PATTERN
-
SINGLE_CHAR_PATTERN
public static final char SINGLE_CHAR_PATTERN
Used in a host pattern to denote any one character- See Also:
- Constant Field Values
-
NEGATION_CHAR_PATTERN
public static final char NEGATION_CHAR_PATTERN
Used to negate a host pattern- See Also:
- Constant Field Values
-
PATTERN_CHARS
public static final java.lang.String PATTERN_CHARS
The available pattern characters
-
PORT_VALUE_DELIMITER
public static final char PORT_VALUE_DELIMITER
Port value separator if non-standard port pattern used- See Also:
- Constant Field Values
-
NON_STANDARD_PORT_PATTERN_ENCLOSURE_START_DELIM
public static final char NON_STANDARD_PORT_PATTERN_ENCLOSURE_START_DELIM
Non-standard port specification host pattern enclosure start delimiter- See Also:
- Constant Field Values
-
NON_STANDARD_PORT_PATTERN_ENCLOSURE_END_DELIM
public static final char NON_STANDARD_PORT_PATTERN_ENCLOSURE_END_DELIM
Non-standard port specification host pattern enclosure end delimiter- See Also:
- Constant Field Values
-
patterns
private java.util.Collection<HostPatternValue> patterns
-
-
Method Detail
-
getPatterns
public java.util.Collection<HostPatternValue> getPatterns()
-
setPatterns
public void setPatterns(java.util.Collection<HostPatternValue> patterns)
-
isHostMatch
public boolean isHostMatch(java.lang.String host, int port)
Checks if a given host name / address matches the entry's host pattern(s)- Parameters:
host
- The host name / address - ignored ifnull
/emptyport
- The connection port- Returns:
true
if the name / address matches the pattern(s)- See Also:
isHostMatch(String, Pattern)
-
isSpecificHostPattern
public static boolean isSpecificHostPattern(java.lang.String pattern)
- Parameters:
pattern
- The pattern to check - ignored ifnull
/empty- Returns:
true
if the pattern is not empty and contains no wildcard characters- See Also:
WILDCARD_PATTERN
,SINGLE_CHAR_PATTERN
,SINGLE_CHAR_PATTERN
-
isHostMatch
public static boolean isHostMatch(java.lang.String host, int port, java.util.Collection<HostPatternValue> patterns)
-
isPortMatch
public static boolean isPortMatch(int port1, int port2)
- Parameters:
port1
- 1st port value - if non-positive then assumed to beDEFAULT_PORT
port2
- 2nd port value - if non-positive then assumed to beDEFAULT_PORT
- Returns:
true
if ports are effectively equal
-
isHostMatch
public static boolean isHostMatch(java.lang.String host, java.util.regex.Pattern pattern)
Checks if a given host name / address matches a host pattern- Parameters:
host
- The host name / address - ignored ifnull
/emptypattern
- The hostPattern
- ignored ifnull
- Returns:
true
if the name / address matches the pattern
-
parsePatterns
public static java.util.List<HostPatternValue> parsePatterns(java.lang.CharSequence... patterns)
-
parsePatterns
public static java.util.List<HostPatternValue> parsePatterns(java.util.Collection<? extends java.lang.CharSequence> patterns)
-
toPattern
public static HostPatternValue toPattern(java.lang.CharSequence patternString)
Converts a host pattern string to a regular expression matcher. Note: pattern matching is case insensitive- Parameters:
patternString
- The original pattern string - ignored ifnull
/empty- Returns:
- The regular expression matcher
Pattern
and the indication whether it is a negating pattern or not -null
if no original string - See Also:
NON_STANDARD_PORT_PATTERN_ENCLOSURE_START_DELIM
,NON_STANDARD_PORT_PATTERN_ENCLOSURE_END_DELIM
,WILDCARD_PATTERN
,SINGLE_CHAR_PATTERN
,NEGATION_CHAR_PATTERN
-
isValidPatternChar
public static boolean isValidPatternChar(char ch)
Checks if the given character is valid for a host pattern. Valid characters are:- A-Z
- a-z
- 0-9
- Underscore (_)
- Hyphen (-)
- Dot (.)
- Colon (:)
- Percent (%) for scoped ipv6
- The
WILDCARD_PATTERN
- The
SINGLE_CHAR_PATTERN
- Parameters:
ch
- The character to validate- Returns:
true
if valid pattern character
-
-