diff options
Diffstat (limited to 'config-provisioning')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/HostName.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/HostName.java b/config-provisioning/src/main/java/com/yahoo/config/provision/HostName.java new file mode 100644 index 00000000000..510122c2342 --- /dev/null +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/HostName.java @@ -0,0 +1,52 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.config.provision; + +import java.util.Objects; + +/** + * Represents a host name + * + * @author mortent + */ +public class HostName implements Comparable<HostName> { + + private final String name; + + private HostName(String name) { + this.name = name; + } + + public String value() { return name; } + + /** + * Create a {@link HostName} with a given name. + * + * @param name Name + * @return instance of {@link HostName}. + */ + public static HostName from(String name) { + return new HostName(name); + } + + @Override + public int hashCode() { + return name.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if (!(obj instanceof HostName)) return false; + return Objects.equals(((HostName)obj).value(), value()); + } + + @Override + public String toString() { + return name; + } + + @Override + public int compareTo(HostName that) { + return this.name.compareTo(that.name); + } + +} |