/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.nbstudio.project; import com.intersys.objects.CacheException; import java.io.IOException; import org.nbstudio.cachefilesystem.CacheFileObject; import org.nbstudio.utils.Logger; import org.netbeans.api.project.Project; import org.netbeans.spi.project.ProjectFactory; import org.netbeans.spi.project.ProjectState; import org.openide.filesystems.FileObject; import org.openide.util.lookup.ServiceProvider; /** * * @author daimor */ @ServiceProvider(service = ProjectFactory.class) public class CacheProjectFactory implements ProjectFactory { public static final String PROJECT_FILE = "cacheProject.properties"; @Override public boolean isProject(FileObject projectDirectory) { return projectDirectory.getFileObject(PROJECT_FILE) != null; } @Override public Project loadProject(FileObject prj, ProjectState state) throws IOException { if (prj instanceof CacheFileObject) { return null; } if (!isProject(prj)) { return null; } FileObject xml = prj.getFileObject(PROJECT_FILE); if (xml == null || !xml.isData()) { return null; } CacheProject project = null; try { project = new CacheProject(prj, state); } catch (CacheException ex) { ex.printStackTrace(); } return project; } @Override public void saveProject(Project project) throws IOException, ClassCastException { } }