1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.logging.log4j.catalog.api.plugins;
17
18 import org.apache.logging.log4j.catalog.api.ConstraintType;
19 import org.apache.logging.log4j.core.config.plugins.Plugin;
20 import static org.apache.logging.log4j.catalog.api.util.StringUtils.*;
21 import static org.apache.logging.log4j.catalog.api.util.StringUtils.appendNewline;
22
23
24
25
26 @Plugin(name = "pattern", category = ConstraintType.CATEGORY)
27 public class PatternConstraint implements ConstraintType {
28
29 @Override
30 public void validate(boolean isRequestContext, String name, String value, String pattern, StringBuilder error) {
31 if (!isBlank(pattern) && !isBlank(value)) {
32 if (!value.matches(pattern)) {
33 appendNewline(error);
34 if (isRequestContext) {
35 error.append("ThreadContext key ");
36 }
37 error.append(name).append(" does not match pattern ").append(pattern);
38 }
39 }
40 }
41 }