diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2022-03-31 11:08:13 +0200 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2022-03-31 11:08:13 +0200 |
commit | 4e32e82f187a5df2765d1b4c8980a478998a415d (patch) | |
tree | 1d0ba6a754f15f1533b25169564f1255613a328c /vespajlib/src/main/java/ai | |
parent | 2353b584a69e14f97682ad90b3a492b1530abff2 (diff) |
Add a PatternedStringWrapper for the common case with a regex
Diffstat (limited to 'vespajlib/src/main/java/ai')
-rw-r--r-- | vespajlib/src/main/java/ai/vespa/validation/Name.java | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/vespajlib/src/main/java/ai/vespa/validation/Name.java b/vespajlib/src/main/java/ai/vespa/validation/Name.java index 8a66d76c911..12740f230f2 100644 --- a/vespajlib/src/main/java/ai/vespa/validation/Name.java +++ b/vespajlib/src/main/java/ai/vespa/validation/Name.java @@ -6,27 +6,23 @@ import java.util.regex.Pattern; import static ai.vespa.validation.Validation.requireMatch; /** - * A name is a non-null, non-blank {@link String} which starts with a letter, and has up to - * 254 more characters which may be letters, numbers, dashes or underscores. + * A name has from 1 to 64 {@link String} characters which may be letters, numbers, + * dashes or underscores, and must start with a letter. * - * Prefer domain-specific wrappers over this class, but prefer this over raw strings when possible. gT + * Prefer domain-specific wrappers over this class, but prefer this over raw strings when possible. * * @author jonmv */ -public class Name extends StringWrapper<Name> { +public class Name extends PatternedStringWrapper<Name> { - public static final Pattern namePattern = Pattern.compile("[A-Za-z][A-Za-z0-9_-]{0,254}"); + static final Pattern namePattern = Pattern.compile("[A-Za-z][A-Za-z0-9_-]{0,62}"); - private Name(String value) { - super(value); + private Name(String name) { + super(name, namePattern, "name"); } public static Name of(String value) { - return of(value, "name"); - }; - - public static Name of(String value, String description) { - return new Name(requireMatch(value, description, namePattern)); - }; + return new Name(value); + } } |