aboutsummaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/ai
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2022-03-31 11:08:13 +0200
committerJon Marius Venstad <venstad@gmail.com>2022-03-31 11:08:13 +0200
commit4e32e82f187a5df2765d1b4c8980a478998a415d (patch)
tree1d0ba6a754f15f1533b25169564f1255613a328c /vespajlib/src/main/java/ai
parent2353b584a69e14f97682ad90b3a492b1530abff2 (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.java22
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);
+ }
}