summaryrefslogtreecommitdiffstats
path: root/config-provisioning/src/main/java/com/yahoo/config/provision/internal/ConfigFlavor.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision/internal/ConfigFlavor.java')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/internal/ConfigFlavor.java172
1 files changed, 0 insertions, 172 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/internal/ConfigFlavor.java b/config-provisioning/src/main/java/com/yahoo/config/provision/internal/ConfigFlavor.java
deleted file mode 100644
index e70476455cd..00000000000
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/internal/ConfigFlavor.java
+++ /dev/null
@@ -1,172 +0,0 @@
-// 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.internal;
-
-import com.google.common.collect.ImmutableList;
-import com.yahoo.config.provision.Flavor;
-import com.yahoo.config.provisioning.FlavorsConfig;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * A {@link Flavor} generated from config.
- *
- * @author freva
- */
-public class ConfigFlavor implements Flavor {
-
- private final String name;
- private final int cost;
- private final boolean isStock;
- private final Environment environment;
- private final Cpu cpu;
- private final Memory memory;
- private final Disk disk;
- private final Bandwidth bandwidth;
- private final boolean retired;
- private List<Flavor> replacesFlavors;
-
- /**
- * Creates a Flavor, but does not set the replacesFlavors.
- * @param flavorConfig config to be used for Flavor.
- */
- public ConfigFlavor(FlavorsConfig.Flavor flavorConfig) {
- this.name = flavorConfig.name();
- this.replacesFlavors = new ArrayList<>();
- this.cost = flavorConfig.cost();
- this.isStock = flavorConfig.stock();
- this.environment = Environment.valueOf(flavorConfig.environment());
- this.cpu = new ConfigCpu(flavorConfig.cpu());
- this.memory = new ConfigMemory(flavorConfig.memory());
- this.disk = new ConfigDisk(flavorConfig.disk());
- this.bandwidth = new ConfigBandwidth(flavorConfig.bandwidth());
- this.retired = flavorConfig.retired();
- }
-
- @Override
- public String flavorName() {
- return name;
- }
-
- @Override
- public int cost() {
- return cost;
- }
-
- @Override
- public boolean isStock() {
- return isStock;
- }
-
- @Override
- public boolean isRetired() {
- return retired;
- }
-
- @Override
- public Cpu cpu() {
- return cpu;
- }
-
- @Override
- public Memory memory() {
- return memory;
- }
-
- @Override
- public Disk disk() {
- return disk;
- }
-
- @Override
- public Bandwidth bandwidth() {
- return bandwidth;
- }
-
- @Override
- public Environment environment() {
- return environment;
- }
-
- @Override
- public List<Flavor> replaces() {
- return replacesFlavors;
- }
-
- /** Irreversibly freezes the content of this */
- public void freeze() {
- replacesFlavors = ImmutableList.copyOf(replacesFlavors);
- }
-
- @Override
- public int hashCode() { return name.hashCode(); }
-
- @Override
- public boolean equals(Object other) {
- if (other == this) return true;
- if ( ! (other instanceof ConfigFlavor)) return false;
- return ((ConfigFlavor)other).name.equals(this.name);
- }
-
- @Override
- public String toString() { return "flavor '" + name + "'"; }
-
- private class ConfigCpu implements Flavor.Cpu {
- private final double cores;
-
- private ConfigCpu(FlavorsConfig.Flavor.Cpu cpu) {
- this.cores = cpu.cores();
- }
-
- @Override
- public double cores() {
- return cores;
- }
- }
-
- private class ConfigMemory implements Flavor.Memory {
- private final double sizeInGb;
-
- private ConfigMemory(FlavorsConfig.Flavor.Memory memory) {
- this.sizeInGb = memory.sizeInGb();
- }
-
- @Override
- public double sizeInGb() {
- return sizeInGb;
- }
- }
-
- private class ConfigDisk implements Flavor.Disk {
- private final double sizeInBase10;
- private final boolean isFast;
-
- private ConfigDisk(FlavorsConfig.Flavor.Disk disk) {
- this.sizeInBase10 = disk.sizeInGb();
- this.isFast = disk.fast();
- }
-
- @Override
- public double sizeInBase10Gb() {
- return sizeInBase10;
- }
-
- @Override
- public boolean isFast() {
- return isFast;
- }
- }
-
- private class ConfigBandwidth implements Flavor.Bandwidth {
- private final double mbits;
-
- private ConfigBandwidth(FlavorsConfig.Flavor.Bandwidth bandwidth) {
- this.mbits = bandwidth.mbits();
- }
-
- @Override
- public double mbits() {
- return mbits;
- }
- }
-}