
io.katharsis.resource.registry.MultiResourceLookup Maven / Gradle / Ivy
The newest version!
package io.katharsis.resource.registry;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import io.katharsis.module.Module;
/**
* Combines all {@link ResourceLookup} instances provided by the registered
* {@link Module}.
*/
public class MultiResourceLookup implements ResourceLookup {
private Collection lookups;
public MultiResourceLookup(List lookups) {
this.lookups = lookups;
}
@Override
public Set> getResourceClasses() {
Set> set = new HashSet<>();
for (ResourceLookup lookup : lookups) {
set.addAll(lookup.getResourceClasses());
}
return set;
}
@Override
public Set> getResourceRepositoryClasses() {
Set> set = new HashSet<>();
for (ResourceLookup lookup : lookups) {
set.addAll(lookup.getResourceRepositoryClasses());
}
return set;
}
public static ResourceLookup newInstance(ResourceLookup... lookups) {
List list = new ArrayList<>();
for (ResourceLookup lookup : lookups) {
if (lookup != null) {
list.add(lookup);
}
}
return new MultiResourceLookup(list);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy