In line with objects should be immutable, refactor the Manifests class to be an immutable.
Acceptance criteria:
Manifests is immutable, that is no exposed methods will change its internal state
Manifests no longer implements Map<String, String>, though it should keep get method
Manifests provides a mutable map copy from a method: Map<string, string> asMap() providing an upgrade route for anyone relying on its previous implementation of Map
- Remove
@SuppressWarnings("PMD.TooManyMethods") from the class, as most of the old Map methods will be gone
In line with objects should be immutable, refactor the
Manifestsclass to be an immutable.Acceptance criteria:
Manifestsis immutable, that is no exposed methods will change its internal stateManifestsno longer implementsMap<String, String>, though it should keepgetmethodManifestsprovides a mutable map copy from a method:Map<string, string> asMap()providing an upgrade route for anyone relying on its previous implementation ofMap@SuppressWarnings("PMD.TooManyMethods")from the class, as most of the oldMapmethods will be gone