接口 PathMatcher

    • 方法详细资料

      • isPattern

        boolean isPattern​(String path)
        给定的path是否表示该接口的实现可以匹配的模式

        如果返回值是false,则不需要使用match(java.lang.String, java.lang.String)方法,因为对静态路径字符串进行直接相等比较将导致相同的结果。

        参数:
        path - 要检查的路径
        返回:
        如果给定的path代表一个模式,true
      • match

        boolean match​(String pattern,
                      String path)
        根据这个PathMatcher的匹配策略,匹配给定的path和给定的pattern
        参数:
        pattern - 要匹配的模式
        path - 测试路径
        返回:
        true如果提供的path匹配,false如果不匹配
      • matchStart

        boolean matchStart​(String pattern,
                           String path)
        根据这个PathMatcher的匹配策略,将给定的path与给定的pattern的对应部分进行匹配。

        确定模式是否至少与给定的基本路径匹配,假设完整路径也可以匹配。

        参数:
        pattern - 要匹配的模式
        path - 测试路径
        返回:
        true如果提供的path匹配,false如果不匹配
      • extractPathWithinPattern

        String extractPathWithinPattern​(String pattern,
                                        String path)
        给定一个模式和一个完整路径,确定模式映射部分

        该方法被认为是通过实际模式来找出路径的哪一部分是动态匹配的,也就是说,它从给定的完整路径中剥离静态定义的引导路径,只返回路径的实际模式匹配部分。

        例如:对于“myroot/*.html”作为模式,“myroot/myfile.html”作为完整路径,该方法应该返回“myfile.html”。 详细的确定规则指定给这个PathMatcher的匹配策略。 一个简单的实现可以在实际模式的情况下返回给定的完整路径, 而在模式不包含任何动态部分的情况下返回空String(即pattern参数是一个静态路径, 不符合实际isPattern(java.lang.String))。 复杂的实现将区分给定路径模式的静态部分和动态部分。

        参数:
        pattern - 路径模式
        path - 自省的完整路径
        返回:
        给定path的模式映射部分(never null)
      • extractUriTemplateVariables

        Map<String,​String> extractUriTemplateVariables​(String pattern,
                                                             String path)
        给定模式和完整路径,提取URI模板变量。URI模板变量通过(:xxx)表示。
        参数:
        pattern - 路径模式,可能包含URI模板
        path - 要从中提取模板变量的完整路径
        返回:
        映射,包含变量名作为键;变量值作为值
      • getPatternComparator

        Comparator<String> getPatternComparator​(String path)
        给定一个完整的路径,返回一个Comparator,适合按照该路径的显式顺序对模式进行排序

        所使用的完整算法取决于底层实现,但通常,返回的ComparatorList.sort(java.util.Comparator)对列表进行排序,以便更具体的模式出现在泛型模式之前。

        参数:
        path - 用于比较的完整路径
        返回:
        一种能够按显式顺序对模式进行排序的比较器
      • combine

        String combine​(String pattern1,
                       String pattern2)
        将两个模式合并为返回的新模式

        用于组合这两种模式的完整算法取决于底层实现

        参数:
        pattern1 - 第一种模式
        pattern2 - 第二种模式
        返回:
        两种模式的结合
        抛出:
        IllegalArgumentException - 当两种模式不能组合时