* Upgrade to ConfigMe 1.0.1 * Use ConfigMe reader whenever possible, minor simplifications
48 lines
1.3 KiB
Java
48 lines
1.3 KiB
Java
package fr.xephi.authme.service.yaml;
|
|
|
|
import ch.jalu.configme.exception.ConfigMeException;
|
|
import ch.jalu.configme.resource.PropertyReader;
|
|
import ch.jalu.configme.resource.YamlFileResource;
|
|
|
|
import java.io.File;
|
|
|
|
/**
|
|
* Creates {@link YamlFileResource} objects.
|
|
*/
|
|
public final class YamlFileResourceProvider {
|
|
|
|
private YamlFileResourceProvider() {
|
|
}
|
|
|
|
/**
|
|
* Creates a {@link YamlFileResource} instance for the given file. Wraps SnakeYAML's parse exception
|
|
* thrown when a reader is created into an AuthMe exception.
|
|
*
|
|
* @param file the file to load
|
|
* @return the generated resource
|
|
*/
|
|
public static YamlFileResource loadFromFile(File file) {
|
|
return new AuthMeYamlFileResource(file);
|
|
}
|
|
|
|
/**
|
|
* Extension of {@link YamlFileResource} which wraps SnakeYAML's parse exception into a custom
|
|
* exception when a reader is created.
|
|
*/
|
|
private static final class AuthMeYamlFileResource extends YamlFileResource {
|
|
|
|
AuthMeYamlFileResource(File file) {
|
|
super(file);
|
|
}
|
|
|
|
@Override
|
|
public PropertyReader createReader() {
|
|
try {
|
|
return super.createReader();
|
|
} catch (ConfigMeException e) {
|
|
throw new YamlParseException(getFile().getPath(), e);
|
|
}
|
|
}
|
|
}
|
|
}
|