line/centraldogma

Add useful factory methods to `PathPattern`

Open

#659 opened on Dec 24, 2021

 (0 comments) (0 reactions) (0 assignees)Java (133 forks)auto 404
good first issuenew feature

Repository metrics

Stars
 (664 stars)
PR merge metrics
 (PR metrics pending)

Description

PathPattern is introduced in #651 to create complex path patterns easily. We will provide more common patterns as factory methods.

// *.json
PathPattern.endsWith("json");
// /**/foo.txt
PathPattern.endsWith("foo.txt");

// /foo/bar/**
PathPattern.under("/foo/bar"); // or 
PathPattern.startsWith("/foo/bar");

// Compose the existing path patterns
// /foo/bar/**/*.json
PathPattern.startsWith("/foo/bar").endsWith("json"); // or 
PathPattern.builder()
           .startsWith("/foo/bar")
           .endsWith("json")
           .build();


// *.json and /foo/bar/**
PathPattern.of(PatternPattern.of("json"), PathPattern.startsWith("/foo/bar"));

Contributor guide