blob: 03432d63dcd6e9b741bdcf859686205256a64501 [file] [log] [blame]
package org.eclipse.dltk.core;
import java.io.File;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.dltk.core.environment.EnvironmentManager;
import org.eclipse.dltk.core.environment.IEnvironment;
import org.eclipse.dltk.core.environment.IFileHandle;
public abstract class AbstractLanguageToolkit implements IDLTKLanguageToolkit {
public AbstractLanguageToolkit() {
}
public boolean languageSupportZIPBuildpath() {
return false;
}
public boolean validateSourcePackage(IPath path, IEnvironment environment) {
return true;
}
public IStatus validateSourceModule(IResource resource) {
return Status.OK_STATUS;
}
protected static boolean isEmptyExtension(String name) {
return name.indexOf('.') == -1;
}
public boolean canValidateContent(IResource resource) {
final IProject project = resource.getProject();
if (project == null) { // This is workspace root.
return false;
}
final IEnvironment environment = EnvironmentManager
.getEnvironment(project);
if (environment == null || !environment.isLocal()) {
return false;
}
return isEmptyExtension(resource.getName());
}
public boolean canValidateContent(File file) {
return isEmptyExtension(file.getName());
}
public boolean canValidateContent(IFileHandle file) {
return false;
}
public String getPreferenceQualifier() {
return null;
}
}