source: josm/trunk/src/org/openstreetmap/josm/tools/Predicates.java@ 6547

Last change on this file since 6547 was 6547, checked in by simon04, 12 years ago

MapCSS: add regular expression support for key conditions

For instance, [/^addr:/] matches any addr:* key.

File size: 1.4 KB
Line 
1package org.openstreetmap.josm.tools;
2
3import java.util.regex.Pattern;
4
5/**
6 * Utility class for creating {@link Predicate}s.
7 */
8public final class Predicates {
9
10 private Predicates() {
11 }
12
13 /**
14 * Returns a {@link Predicate} executing {@link Pattern#matcher(CharSequence)} and {@link java.util.regex.Matcher#matches}.
15 */
16 public static Predicate<String> stringMatchesPattern(final Pattern pattern) {
17 return new Predicate<String>() {
18 @Override
19 public boolean evaluate(String string) {
20 return pattern.matcher(string).matches();
21 }
22 };
23 }
24
25 /**
26 * Returns a {@link Predicate} executing {@link Pattern#matcher(CharSequence)} and {@link java.util.regex.Matcher#find}.
27 */
28 public static Predicate<String> stringContainsPattern(final Pattern pattern) {
29 return new Predicate<String>() {
30 @Override
31 public boolean evaluate(String string) {
32 return pattern.matcher(string).find();
33 }
34 };
35 }
36
37 /**
38 * Returns a {@link Predicate} executing {@link String#contains(CharSequence)}.
39 */
40 public static Predicate<String> stringContains(final String pattern) {
41 return new Predicate<String>() {
42 @Override
43 public boolean evaluate(String string) {
44 return string.contains(pattern);
45 }
46 };
47 }
48}
Note: See TracBrowser for help on using the repository browser.