summaryrefslogtreecommitdiffstats
path: root/config-provisioning/src/main/java/com/yahoo/config/provision/ZoneId.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision/ZoneId.java')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/ZoneId.java37
1 files changed, 37 insertions, 0 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/ZoneId.java b/config-provisioning/src/main/java/com/yahoo/config/provision/ZoneId.java
new file mode 100644
index 00000000000..07a4b8c4d79
--- /dev/null
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/ZoneId.java
@@ -0,0 +1,37 @@
+package com.yahoo.config.provision;
+
+public class ZoneId {
+
+ protected final Environment environment;
+ protected final RegionName region;
+
+ public ZoneId(Environment environment, RegionName region) {
+ this.environment = environment;
+ this.region = region;
+ }
+
+ /** Returns the current environment */
+ public Environment environment() { return environment; }
+
+ /** Returns the current region */
+ public RegionName region() { return region; }
+
+ @Override
+ public String toString() {
+ return "zone " + environment + "." + region;
+ }
+
+ @Override
+ public int hashCode() { return environment().hashCode() + 7 * region.hashCode();}
+
+ @Override
+ public boolean equals(Object o) {
+ if (o == this) return true;
+ if ( ! (o instanceof Zone)) return false;
+
+ ZoneId other = (ZoneId)o;
+ if ( this.environment() != other.environment()) return false;
+ if ( ! this.region.equals(other.region)) return false;
+ return true;
+ }
+}