package com.redhat.ceylon.eclipse.code.preferences;
import org.eclipse.core.expressions.PropertyTester;
import org.eclipse.core.resources.IFile;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.JavaCore;
import com.redhat.ceylon.eclipse.core.builder.CeylonNature;
public class CeylonFilePropertyTester extends PropertyTester {
@Override
public boolean test(Object receiver, String property, Object[] args,
Object expectedValue) {
if (property.equals("module") &&
receiver instanceof IFile) {
IFile file = (IFile) receiver;
if (!CeylonNature.isEnabled(file.getProject()) ||
!file.getName().equals("module.ceylon")) {
return false;
}
IJavaElement parent = JavaCore.create(file.getParent());
return parent instanceof IPackageFragment ||
parent instanceof IPackageFragmentRoot;
}
return false;
}
}