Class HostPatternsHolder

java.lang.Object
org.apache.sshd.client.config.hosts.HostPatternsHolder
Direct Known Subclasses:
HostConfigEntry, KnownHostEntry

public abstract class HostPatternsHolder extends Object
  • Field Details

    • WILDCARD_PATTERN

      public static final char WILDCARD_PATTERN
      Used in a host pattern to denote zero or more consecutive characters
      See Also:
    • ALL_HOSTS_PATTERN

      public static final 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:
    • NEGATION_CHAR_PATTERN

      public static final char NEGATION_CHAR_PATTERN
      Used to negate a host pattern
      See Also:
    • PATTERN_CHARS

      public static final 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:
    • 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:
    • 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:
    • patterns

      private Collection<HostPatternValue> patterns
  • Constructor Details

    • HostPatternsHolder

      protected HostPatternsHolder()
  • Method Details

    • getPatterns

      public Collection<HostPatternValue> getPatterns()
    • setPatterns

      public void setPatterns(Collection<HostPatternValue> patterns)
    • isHostMatch

      public boolean isHostMatch(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 if null/empty
      port - The connection port
      Returns:
      true if the name / address matches the pattern(s)
      See Also:
    • isSpecificHostPattern

      public static boolean isSpecificHostPattern(String pattern)
      Parameters:
      pattern - The pattern to check - ignored if null/empty
      Returns:
      true if the pattern is not empty and contains no wildcard characters
      See Also:
    • isHostMatch

      public static boolean isHostMatch(String host, int port, Collection<HostPatternValue> patterns)
    • isPortMatch

      public static boolean isPortMatch(int port1, int port2)
      Parameters:
      port1 - 1st port value - if non-positive then assumed to be DEFAULT_PORT
      port2 - 2nd port value - if non-positive then assumed to be DEFAULT_PORT
      Returns:
      true if ports are effectively equal
    • isHostMatch

      public static boolean isHostMatch(String host, Pattern pattern)
      Checks if a given host name / address matches a host pattern
      Parameters:
      host - The host name / address - ignored if null/empty
      pattern - The host Pattern - ignored if null
      Returns:
      true if the name / address matches the pattern
    • parsePatterns

      public static List<HostPatternValue> parsePatterns(CharSequence... patterns)
    • parsePatterns

      public static List<HostPatternValue> parsePatterns(Collection<? extends CharSequence> patterns)
    • toPattern

      public static HostPatternValue toPattern(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 if null/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:
    • isValidPatternChar

      public static boolean isValidPatternChar(char ch)
      Checks if the given character is valid for a host pattern. Valid characters are:
      Parameters:
      ch - The character to validate
      Returns:
      true if valid pattern character