1 19 package org.netbeans.modules.java.debug; 20 21 import java.util.Collections ; 22 import java.util.List ; 23 import org.netbeans.api.java.source.CancellableTask; 24 import org.netbeans.api.java.source.CompilationInfo; 25 import org.netbeans.api.java.source.JavaSource; 26 import org.netbeans.api.java.source.JavaSource.Phase; 27 import org.netbeans.api.java.source.JavaSource.Priority; 28 import org.netbeans.api.java.source.support.LookupBasedJavaSourceTaskFactory; 29 import org.netbeans.modules.java.debug.TreeNavigatorJavaSourceFactory.WrapperTask; 30 import org.openide.filesystems.FileObject; 31 import org.openide.util.Lookup; 32 33 37 public final class ElementNavigatorJavaSourceFactory extends LookupBasedJavaSourceTaskFactory { 38 39 private CancellableTask<CompilationInfo> task; 40 41 static ElementNavigatorJavaSourceFactory getInstance() { 42 return Lookup.getDefault().lookup(ElementNavigatorJavaSourceFactory.class); 43 } 44 45 public ElementNavigatorJavaSourceFactory() { 46 super(Phase.UP_TO_DATE, Priority.NORMAL); 47 } 48 49 public synchronized CancellableTask<CompilationInfo> createTask(FileObject file) { 50 return new WrapperTask(task); 52 } 53 54 public List <FileObject> getFileObjects() { 55 List <FileObject> result = super.getFileObjects(); 56 57 if (result.size() == 1) 58 return result; 59 60 return Collections.emptyList(); 61 } 62 63 public FileObject getFile() { 64 List <FileObject> result = super.getFileObjects(); 65 66 if (result.size() == 1) 67 return result.get(0); 68 69 return null; 70 } 71 72 public synchronized void setLookup(Lookup l, CancellableTask<CompilationInfo> task) { 73 this.task = task; 74 super.setLookup(l); 75 } 76 77 } 78 | Popular Tags |