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.io.InputStream;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.Optional; import java.util.Optional;
public interface StaticResourceService { public interface StaticResourceService {
<T> Optional<T> loadByPath(Class<T> clazz, List<String> path, String name); <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(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(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); 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 @Override
public Optional<InputStream> loadStreamByPath(final List<String> path, final String name) { public Optional<InputStream> loadStreamByPath(final List<String> path, final String name) {
Objects.requireNonNull(name, "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 @Override
public boolean exists(final List<String> path, final String name) { public boolean exists(final List<String> path, final String name) {
Objects.requireNonNull(name, "name"); Objects.requireNonNull(name, "name");
@@ -148,12 +135,6 @@ public class StaticResourceServiceImpl implements StaticResourceService {
return Files.exists(filePath) && Files.isRegularFile(filePath); 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 @Override
public List<String> listPath(final List<String> path) { public List<String> listPath(final List<String> path) {
final Path dirPath = resolvePath(path, null); final Path dirPath = resolvePath(path, null);