![JAR search and dependency download from the Maven repository](/logo.png)
io.legaldocml.module.Modules Maven / Gradle / Ivy
package io.legaldocml.module;
import com.google.common.collect.ImmutableMap;
import io.legaldocml.io.CharArray;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ServiceLoader;
/**
* @author Jacques Militello
*/
public final class Modules {
/**
* SLF4J Logger.
*/
private static final Logger LOGGER = LoggerFactory.getLogger(Modules.class);
private static final ImmutableMap MODULES;
private static final ImmutableMap AKOS;
static {
ImmutableMap.Builder builder = ImmutableMap.builder();
ImmutableMap.Builder builderAko = ImmutableMap.builder();
ServiceLoader.load(Module.class).forEach(c -> {
LOGGER.info("load Module [{}]", c);
builder.put(c.namespace(), c);
if (c instanceof AknModule) {
builderAko.put(c.namespace(), c);
}
});
MODULES = builder.build();
AKOS = builderAko.build();
}
private Modules(){
}
public static Module get(CharArray key) {
return MODULES.get(key);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy