diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2022-04-04 16:41:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-04 16:41:18 +0200 |
commit | 3ad3d0735bd476c9babae1032ea23b9fcc129b1a (patch) | |
tree | 3e61929ad7dceea1eb334d5855ad80dfbf9e51cd /config-provisioning/src/main/java/com/yahoo/config/provision/InstanceName.java | |
parent | ad7cc1d11f0c19baa2344a643377576c559555f7 (diff) | |
parent | 95ac1dbc727303ff50eaa93eb0ad68e0c76f5b65 (diff) |
Merge pull request #21969 from vespa-engine/revert-21965-jonmv/reapply-application-name-validation
Revert "Jonmv/reapply application name validation"
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision/InstanceName.java')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/InstanceName.java | 39 |
1 files changed, 32 insertions, 7 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/InstanceName.java b/config-provisioning/src/main/java/com/yahoo/config/provision/InstanceName.java index fc40d351465..8101b70b943 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/InstanceName.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/InstanceName.java @@ -1,7 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config.provision; -import ai.vespa.validation.PatternedStringWrapper; +import java.util.Objects; /** * Represents an applications instance name, which may be any kind of string or default. This type is defined @@ -9,12 +9,30 @@ import ai.vespa.validation.PatternedStringWrapper; * * @author Ulf Lilleengen */ -public class InstanceName extends PatternedStringWrapper<InstanceName> { +public class InstanceName implements Comparable<InstanceName> { - private static final InstanceName defaultName = new InstanceName("default"); + private static final InstanceName defaultInstance = new InstanceName("default"); - private InstanceName(String name) { - super(name, ApplicationId.namePattern, "instance name"); + private final String instanceName; + + private InstanceName(String instanceName) { + this.instanceName = instanceName; + } + + @Override + public int hashCode() { + return instanceName.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if (!(obj instanceof InstanceName)) return false; + return Objects.equals(((InstanceName) obj).instanceName, instanceName); + } + + @Override + public String toString() { + return instanceName; } public static InstanceName from(String name) { @@ -22,15 +40,22 @@ public class InstanceName extends PatternedStringWrapper<InstanceName> { } public static InstanceName defaultName() { - return defaultName; + return defaultInstance; } public boolean isDefault() { - return equals(defaultName); + return equals(InstanceName.defaultName()); } public boolean isTester() { return value().endsWith("-t"); } + public String value() { return instanceName; } + + @Override + public int compareTo(InstanceName instance) { + return instanceName.compareTo(instance.instanceName); + } + } |