refactor(resource): Simplify StaticResourceService methods by using default implementations
This commit is contained in:
@@ -2,21 +2,32 @@ package de.extio.game_engine.resource;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface StaticResourceService {
|
||||
|
||||
<T> Optional<T> loadByPath(Class<T> clazz, List<String> path, String name);
|
||||
|
||||
<T> Optional<T> loadByPath(Class<T> clazz, StaticResource resource);
|
||||
default <T> Optional<T> loadByPath(final Class<T> clazz, final StaticResource resource) {
|
||||
Objects.requireNonNull(clazz, "clazz");
|
||||
Objects.requireNonNull(resource, "resource");
|
||||
return this.loadByPath(clazz, resource.pathSegments(), resource.resourceName());
|
||||
}
|
||||
|
||||
Optional<InputStream> loadStreamByPath(List<String> path, String name);
|
||||
|
||||
Optional<InputStream> loadStreamByPath(StaticResource resource);
|
||||
default Optional<InputStream> loadStreamByPath(final StaticResource resource) {
|
||||
Objects.requireNonNull(resource, "resource");
|
||||
return this.loadStreamByPath(resource.pathSegments(), resource.resourceName());
|
||||
}
|
||||
|
||||
boolean exists(List<String> path, String name);
|
||||
|
||||
boolean exists(StaticResource resource);
|
||||
default boolean exists(final StaticResource resource) {
|
||||
Objects.requireNonNull(resource, "resource");
|
||||
return this.exists(resource.pathSegments(), resource.resourceName());
|
||||
}
|
||||
|
||||
List<String> listPath(List<String> path);
|
||||
|
||||
|
||||
@@ -99,13 +99,6 @@ public class StaticResourceServiceImpl implements StaticResourceService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> Optional<T> loadByPath(final Class<T> clazz, final StaticResource resource) {
|
||||
Objects.requireNonNull(clazz, "clazz");
|
||||
Objects.requireNonNull(resource, "resource");
|
||||
return this.loadByPath(clazz, resource.pathSegments(), resource.resourceName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<InputStream> loadStreamByPath(final List<String> path, final String name) {
|
||||
Objects.requireNonNull(name, "name");
|
||||
@@ -133,12 +126,6 @@ public class StaticResourceServiceImpl implements StaticResourceService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<InputStream> loadStreamByPath(final StaticResource resource) {
|
||||
Objects.requireNonNull(resource, "resource");
|
||||
return this.loadStreamByPath(resource.pathSegments(), resource.resourceName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean exists(final List<String> path, final String name) {
|
||||
Objects.requireNonNull(name, "name");
|
||||
@@ -148,12 +135,6 @@ public class StaticResourceServiceImpl implements StaticResourceService {
|
||||
return Files.exists(filePath) && Files.isRegularFile(filePath);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean exists(final StaticResource resource) {
|
||||
Objects.requireNonNull(resource, "resource");
|
||||
return this.exists(resource.pathSegments(), resource.resourceName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> listPath(final List<String> path) {
|
||||
final Path dirPath = resolvePath(path, null);
|
||||
|
||||
Reference in New Issue
Block a user