diff options
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision/TenantName.java')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/TenantName.java | 39 |
1 files changed, 32 insertions, 7 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/TenantName.java b/config-provisioning/src/main/java/com/yahoo/config/provision/TenantName.java index 9909ab360a0..92fe5345b4e 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/TenantName.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/TenantName.java @@ -1,31 +1,56 @@ // 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 a tenant in the provision API. * * @author Ulf Lilleengen */ -public class TenantName extends PatternedStringWrapper<TenantName> { +public class TenantName implements Comparable<TenantName> { - private static final TenantName defaultName = new TenantName("default"); + private final String name; private TenantName(String name) { - super(name, ApplicationId.namePattern, "tenant name"); + this.name = name; } + public String value() { return name; } + + /** + * Create a {@link TenantName} with a given name. + * + * @param name Name of tenant. + * @return instance of {@link TenantName}. + */ public static TenantName from(String name) { return new TenantName(name); } + @Override + public int hashCode() { + return name.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if (!(obj instanceof TenantName)) return false; + return Objects.equals(((TenantName)obj).value(), value()); + } + + @Override + public String toString() { + return name; + } + public static TenantName defaultName() { - return defaultName; + return from("default"); } - public boolean isDefault() { - return equals(defaultName); + @Override + public int compareTo(TenantName that) { + return this.name.compareTo(that.name); } } |