All Downloads are FREE. Search and download functionalities are using the official Maven repository.

pl.allegro.tech.hermes.management.domain.consistency.MetadataCopies Maven / Gradle / Ivy

There is a newer version: 2.10.4
Show newest version
package pl.allegro.tech.hermes.management.domain.consistency;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

class MetadataCopies {
  private final String id;
  private final Map copyPerDatacenter = new HashMap<>();

  MetadataCopies(String id, Set datacenters) {
    this.id = id;
    datacenters.forEach(dc -> copyPerDatacenter.put(dc, null));
  }

  void put(String datacenter, Object value) {
    if (!copyPerDatacenter.containsKey(datacenter)) {
      throw new IllegalArgumentException("Invalid datacenter: " + datacenter);
    }
    copyPerDatacenter.put(datacenter, value);
  }

  boolean areAllEqual() {
    return copyPerDatacenter.values().stream().distinct().count() == 1;
  }

  String getId() {
    return id;
  }

  Map getCopyPerDatacenter() {
    return copyPerDatacenter;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy