package com.redhat.ceylon.eclipse.java2ceylon;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IPath;
import com.redhat.ceylon.compiler.typechecker.io.VirtualFile;
import com.redhat.ceylon.ide.common.platform.VfsServices;
import com.redhat.ceylon.ide.common.vfs.FileVirtualFile;
import com.redhat.ceylon.ide.common.vfs.FolderVirtualFile;
import com.redhat.ceylon.ide.common.vfs.ResourceVirtualFile;
public interface VfsJ2C {
VfsServices<IProject, IResource, IFolder, IFile> services();
ResourceVirtualFile<IProject, IResource, IFolder, IFile> createVirtualResource(
IResource resource, IProject project);
FileVirtualFile<IProject, IResource, IFolder, IFile> createVirtualFile(IFile file, IProject project);
FileVirtualFile<IProject, IResource, IFolder, IFile> createVirtualFile(
IProject project, IPath path);
FolderVirtualFile<IProject, IResource, IFolder, IFile> createVirtualFolder(
IFolder folder, IProject project);
FolderVirtualFile<IProject, IResource, IFolder, IFile> createVirtualFolder(
IProject project, IPath path);
boolean instanceOfIFileVirtualFile(VirtualFile file);
FileVirtualFile<IProject, IResource, IFolder, IFile> getIFileVirtualFile(
VirtualFile file);
boolean instanceOfIFolderVirtualFile(VirtualFile file);
FolderVirtualFile<IProject, IResource, IFolder, IFile> getIFolderVirtualFile(
VirtualFile file);
}