public ResourceAmounts append(ResourceAmounts amounts) { return ResourceAmounts.of( getCpu() + amounts.getCpu(), getMemory() + amounts.getMemory(), getDiskIO() + amounts.getDiskIO(), getNetworkIO() + amounts.getNetworkIO()); }
public ResourceAmounts subtract(ResourceAmounts amounts) { return ResourceAmounts.of( getCpu() - amounts.getCpu(), getMemory() - amounts.getMemory(), getDiskIO() - amounts.getDiskIO(), getNetworkIO() - amounts.getNetworkIO()); }
@Value.Immutable @BuckStyleImmutable abstract class AbstractResourceAmounts { @Value.Parameter public abstract int getCpu(); @Value.Parameter public abstract int getMemory(); @Value.Parameter public abstract int getDiskIO(); @Value.Parameter public abstract int getNetworkIO(); public static final ResourceAmounts ZERO = ResourceAmounts.of(0, 0, 0, 0); public ResourceAmounts append(ResourceAmounts amounts) { return ResourceAmounts.of( getCpu() + amounts.getCpu(), getMemory() + amounts.getMemory(), getDiskIO() + amounts.getDiskIO(), getNetworkIO() + amounts.getNetworkIO()); } public ResourceAmounts subtract(ResourceAmounts amounts) { return ResourceAmounts.of( getCpu() - amounts.getCpu(), getMemory() - amounts.getMemory(), getDiskIO() - amounts.getDiskIO(), getNetworkIO() - amounts.getNetworkIO()); } public boolean containsValuesLessThan(ResourceAmounts amounts) { return getCpu() < amounts.getCpu() || getMemory() < amounts.getMemory() || getDiskIO() < amounts.getDiskIO() || getNetworkIO() < amounts.getNetworkIO(); } public boolean containsValuesGreaterThan(ResourceAmounts amounts) { return amounts.containsValuesLessThan(ResourceAmounts.copyOf(this)); } }