package org.netbeans.gradle.project.query;
import java.nio.charset.Charset;
import org.netbeans.gradle.project.properties.global.CommonGlobalSettings;
import org.netbeans.gradle.project.util.GradleFileUtils;
import org.netbeans.gradle.project.util.StringUtils;
import org.netbeans.spi.queries.FileEncodingQueryImplementation;
import org.openide.filesystems.FileObject;
import org.openide.filesystems.FileUtil;
import org.openide.util.lookup.ServiceProvider;
import org.openide.util.lookup.ServiceProviders;
@ServiceProviders({@ServiceProvider(service = FileEncodingQueryImplementation.class)})
public final class GradleHomeSourceEncodingQuery extends FileEncodingQueryImplementation {
private static final Charset UTF8 = StringUtils.UTF8;
@Override
public Charset getEncoding(FileObject file) {
FileObject gradleHome = CommonGlobalSettings.getDefault().tryGetGradleInstallation();
if (gradleHome == null) {
return null;
}
FileObject srcDir = GradleFileUtils.getSrcDirOfGradle(gradleHome);
if (srcDir == null) {
return null;
}
return FileUtil.isParentOf(srcDir, file) ? UTF8 : null;
}
}