refactor(resource): Simplify StaticResourceService methods by using default implementations

This commit is contained in:
extio-de
2025-12-24 15:15:00 +01:00
parent 9490593b77
commit 4633527aa9
2 changed files with 14 additions and 22 deletions

View File

@@ -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);

View File

@@ -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);