resource-manager/resource-manager-api/src/main/java/de/nclazz/resources/ResourceRepository.java

25 lines
642 B
Java

package de.nclazz.resources;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
public class ResourceRepository {
private Map<String, ResourceMapping> mappings = new HashMap<>();
public Optional<ResourceMapping> getMapping(String key) {
return Optional.ofNullable(this.mappings.get(key));
}
public ResourceRepository addMapping(String key, ResourceMapping mapping) {
this.mappings.put(key, mapping);
return this;
}
public Optional<Resource> getResource(String key) {
return getMapping(key)
.flatMap(ResourceMapping::fetchResource);
}
}