25 lines
642 B
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);
|
|
}
|
|
}
|