001: /*BEGIN_COPYRIGHT_BLOCK
002: *
003: * Copyright (c) 2001-2007, JavaPLT group at Rice University (javaplt@rice.edu)
004: * All rights reserved.
005: *
006: * Redistribution and use in source and binary forms, with or without
007: * modification, are permitted provided that the following conditions are met:
008: * * Redistributions of source code must retain the above copyright
009: * notice, this list of conditions and the following disclaimer.
010: * * Redistributions in binary form must reproduce the above copyright
011: * notice, this list of conditions and the following disclaimer in the
012: * documentation and/or other materials provided with the distribution.
013: * * Neither the names of DrJava, the JavaPLT group, Rice University, nor the
014: * names of its contributors may be used to endorse or promote products
015: * derived from this software without specific prior written permission.
016: *
017: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
018: * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
019: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
020: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
021: * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
022: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
023: * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
024: * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
025: * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
026: * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
027: * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
028: *
029: * This software is Open Source Initiative approved Open Source Software.
030: * Open Source Initative Approved is a trademark of the Open Source Initiative.
031: *
032: * This file is part of DrJava. Download the current version of this project
033: * from http://www.drjava.org/ or http://sourceforge.net/projects/drjava/
034: *
035: * END_COPYRIGHT_BLOCK*/
036:
037: package edu.rice.cs.drjava.model;
038:
039: import java.awt.Container;
040: import java.awt.print.PageFormat;
041: import java.awt.print.PrinterJob;
042: import java.awt.print.PrinterException;
043: import java.awt.print.Pageable;
044: import java.awt.Font;
045: import java.awt.Color;
046:
047: import javax.swing.ProgressMonitor;
048: import javax.swing.event.DocumentListener;
049: import javax.swing.event.UndoableEditListener;
050: import javax.swing.text.AttributeSet;
051: import javax.swing.text.BadLocationException;
052: import javax.swing.text.Element;
053: import javax.swing.text.Position;
054: import javax.swing.text.Segment;
055: import javax.swing.text.Style;
056:
057: import java.io.File;
058: import java.io.FileFilter;
059: import java.io.FilenameFilter;
060: import java.io.FileNotFoundException;
061: import java.io.FileReader;
062: import java.io.IOException;
063: import java.io.OutputStream;
064:
065: import java.util.ArrayList;
066: import java.util.Arrays;
067: import java.util.Collections;
068: import java.util.Comparator;
069: import java.util.HashSet;
070: import java.util.Hashtable;
071: import java.util.LinkedList;
072: import java.util.List;
073: import java.util.ListIterator;
074: import java.util.Vector;
075:
076: import edu.rice.cs.plt.tuple.Pair;
077: import edu.rice.cs.util.FileOps;
078: import edu.rice.cs.util.FileOpenSelector;
079: import edu.rice.cs.util.OperationCanceledException;
080: import edu.rice.cs.util.OrderedHashSet;
081: import edu.rice.cs.util.SRunnable;
082: import edu.rice.cs.util.StringOps;
083: import edu.rice.cs.util.UnexpectedException;
084:
085: import edu.rice.cs.util.docnavigation.INavigationListener;
086: import edu.rice.cs.util.docnavigation.NodeData;
087: import edu.rice.cs.util.docnavigation.NodeDataVisitor;
088: import edu.rice.cs.util.docnavigation.AWTContainerNavigatorFactory;
089: import edu.rice.cs.util.docnavigation.IDocumentNavigator;
090: import edu.rice.cs.util.docnavigation.INavigatorItem;
091: import edu.rice.cs.util.docnavigation.INavigatorItemFilter;
092: import edu.rice.cs.util.docnavigation.JTreeSortNavigator;
093: import edu.rice.cs.util.swing.DocumentIterator;
094: import edu.rice.cs.util.swing.Utilities;
095: import edu.rice.cs.util.text.AbstractDocumentInterface;
096: import edu.rice.cs.util.text.ConsoleDocument;
097:
098: import edu.rice.cs.drjava.DrJava;
099: import edu.rice.cs.drjava.config.FileOption;
100: import edu.rice.cs.drjava.config.OptionConstants;
101: import edu.rice.cs.drjava.config.OptionEvent;
102: import edu.rice.cs.drjava.config.OptionListener;
103: import edu.rice.cs.drjava.model.print.DrJavaBook;
104:
105: import edu.rice.cs.drjava.model.definitions.ClassNameNotFoundException;
106: import edu.rice.cs.drjava.model.definitions.DefinitionsDocument;
107: import edu.rice.cs.drjava.model.definitions.DefinitionsEditorKit;
108: import edu.rice.cs.drjava.model.definitions.InvalidPackageException;
109: import edu.rice.cs.drjava.model.definitions.DocumentUIListener;
110: import edu.rice.cs.drjava.model.definitions.CompoundUndoManager;
111: import edu.rice.cs.drjava.model.definitions.reducedmodel.HighlightStatus;
112: import edu.rice.cs.drjava.model.definitions.reducedmodel.IndentInfo;
113: import edu.rice.cs.drjava.model.definitions.reducedmodel.ReducedModelState;
114: import edu.rice.cs.drjava.model.debug.Breakpoint;
115: import edu.rice.cs.drjava.model.debug.Debugger;
116: import edu.rice.cs.drjava.model.javadoc.JavadocModel;
117: import edu.rice.cs.drjava.model.repl.DefaultInteractionsModel;
118: import edu.rice.cs.drjava.model.repl.InteractionsDocument;
119: import edu.rice.cs.drjava.model.repl.InteractionsDJDocument;
120: import edu.rice.cs.drjava.model.repl.InteractionsScriptModel;
121: import edu.rice.cs.drjava.model.compiler.CompilerModel;
122: import edu.rice.cs.drjava.model.junit.JUnitModel;
123: import edu.rice.cs.drjava.project.DocFile;
124: import edu.rice.cs.drjava.project.DocumentInfoGetter;
125: import edu.rice.cs.drjava.project.MalformedProjectFileException;
126: import edu.rice.cs.drjava.project.ProjectProfile;
127: import edu.rice.cs.drjava.project.ProjectFileIR;
128: import edu.rice.cs.drjava.project.ProjectFileParser;
129: import edu.rice.cs.drjava.model.cache.DCacheAdapter;
130: import edu.rice.cs.drjava.model.cache.DDReconstructor;
131: import edu.rice.cs.drjava.model.cache.DocumentCache;
132:
133: /**
134: * Concrete implementation of GlobalModel that always throws UnsupportedOperation exceptions.
135: * @version $Id: DummyGlobalModel.java 4255 2007-08-28 19:17:37Z mgricken $
136: */
137: public class DummyGlobalModel implements GlobalModel {
138: /** Since this is not supposed to be used, we need to throw an exception OTHER than the ones it officially supports.
139: * @throws UnsupportedOperationException
140: */
141:
142: public void addListener(GlobalModelListener listener) {
143: throw new UnsupportedOperationException(
144: "Tried to call addListener on a Dummy");
145: }
146:
147: public void removeListener(GlobalModelListener listener) {
148: throw new UnsupportedOperationException(
149: "Tried to call removeListener on a Dummy");
150: }
151:
152: public DefaultInteractionsModel getInteractionsModel() {
153: throw new UnsupportedOperationException(
154: "Tried to call getInteractionsModel on a Dummy");
155: }
156:
157: public CompilerModel getCompilerModel() {
158: throw new UnsupportedOperationException(
159: "Tried to call getCompilerModel on a Dummy");
160: }
161:
162: public JUnitModel getJUnitModel() {
163: throw new UnsupportedOperationException(
164: "Tried to call getJUnitModel on a Dummy");
165: }
166:
167: public JavadocModel getJavadocModel() {
168: throw new UnsupportedOperationException(
169: "Tried to call getJavadocModel on a Dummy");
170: }
171:
172: public Debugger getDebugger() {
173: throw new UnsupportedOperationException(
174: "Tried to call getDebugger on a Dummy");
175: }
176:
177: public RegionManager<Breakpoint> getBreakpointManager() {
178: throw new UnsupportedOperationException(
179: "Tried to call getBreakpointManager on a Dummy");
180: }
181:
182: public RegionManager<DocumentRegion> getBookmarkManager() {
183: throw new UnsupportedOperationException(
184: "Tried to call getBookmarkManager on a Dummy");
185: }
186:
187: public List<RegionManager<MovingDocumentRegion>> getFindResultsManagers() {
188: throw new UnsupportedOperationException(
189: "Tried to call getFindResultsManagers on a Dummy");
190: }
191:
192: public RegionManager<MovingDocumentRegion> createFindResultsManager() {
193: throw new UnsupportedOperationException(
194: "Tried to call createFindResultsManager on a Dummy");
195: }
196:
197: public void disposeFindResultsManager(
198: RegionManager<MovingDocumentRegion> rm) {
199: throw new UnsupportedOperationException(
200: "Tried to call disposeFindResultsManager on a Dummy");
201: }
202:
203: public RegionManager<DocumentRegion> getBrowserHistoryManager() {
204: throw new UnsupportedOperationException(
205: "Tried to call getBookmarkManager on a Dummy");
206: }
207:
208: public void addToBrowserHistory() {
209: throw new UnsupportedOperationException(
210: "Tried to call getBookmarkManager on a Dummy");
211: }
212:
213: public IDocumentNavigator<OpenDefinitionsDocument> getDocumentNavigator() {
214: throw new UnsupportedOperationException(
215: "Tried to call getDocumentNavigator on a Dummy");
216: }
217:
218: public void setDocumentNavigator(
219: IDocumentNavigator<OpenDefinitionsDocument> newnav) {
220: throw new UnsupportedOperationException(
221: "Tried to call setDocumentNavigator on a Dummy");
222: }
223:
224: public OpenDefinitionsDocument newFile() {
225: throw new UnsupportedOperationException(
226: "Tried to call newFile on a Dummy");
227: }
228:
229: public OpenDefinitionsDocument newTestCase(String name,
230: boolean makeSetUp, boolean makeTearDown) {
231: throw new UnsupportedOperationException(
232: "Tried to call newTest on a Dummy");
233: }
234:
235: public OpenDefinitionsDocument openFile(FileOpenSelector com)
236: throws IOException, OperationCanceledException,
237: AlreadyOpenException {
238: throw new UnsupportedOperationException(
239: "Tried to call openFile on a Dummy");
240: }
241:
242: public OpenDefinitionsDocument[] openFiles(FileOpenSelector com)
243: throws IOException, OperationCanceledException,
244: AlreadyOpenException {
245: throw new UnsupportedOperationException(
246: "Tried to call openFiles on a Dummy");
247: }
248:
249: public boolean closeFile(OpenDefinitionsDocument doc) {
250: throw new UnsupportedOperationException(
251: "Tried to call closeFile on a Dummy");
252: }
253:
254: public boolean closeFileWithoutPrompt(OpenDefinitionsDocument doc) {
255: throw new UnsupportedOperationException(
256: "Tried to call closeFileWithoutPrompt on a Dummy");
257: }
258:
259: public boolean closeAllFiles() {
260: throw new UnsupportedOperationException(
261: "Tried to call closeAllFiles on a Dummy");
262: }
263:
264: public void openFolder(File dir, boolean rec) throws IOException,
265: OperationCanceledException, AlreadyOpenException {
266: throw new UnsupportedOperationException(
267: "Tried to call openFolder on a Dummy");
268: }
269:
270: public void saveAllFiles(FileSaveSelector com) throws IOException {
271: throw new UnsupportedOperationException(
272: "Tried to call saveAllFiles on a Dummy");
273: }
274:
275: public void createNewProject(File f) {
276: throw new UnsupportedOperationException(
277: "Tried to call createNewProject on a Dummy");
278: }
279:
280: public void configNewProject() throws IOException {
281: throw new UnsupportedOperationException(
282: "Tried to call configNewProject on a Dummy");
283: }
284:
285: public void saveProject(File f,
286: Hashtable<OpenDefinitionsDocument, DocumentInfoGetter> ht)
287: throws IOException {
288: throw new UnsupportedOperationException(
289: "Tried to call saveProject on a Dummy");
290: }
291:
292: public void reloadProject(File f,
293: Hashtable<OpenDefinitionsDocument, DocumentInfoGetter> ht)
294: throws IOException {
295: throw new UnsupportedOperationException(
296: "Tried to call reloadProject on a Dummy");
297: }
298:
299: public String fixPathForNavigator(String path) throws IOException {
300: throw new UnsupportedOperationException(
301: "Tried to call fixPathForNavigator on a Dummy");
302: }
303:
304: public String getSourceBinTitle() {
305: throw new UnsupportedOperationException(
306: "Tried to call getSourceBinTitle on a Dummy");
307: }
308:
309: public String getExternalBinTitle() {
310: throw new UnsupportedOperationException(
311: "Tried to call getExternalBinTitle on a Dummy");
312: }
313:
314: public String getAuxiliaryBinTitle() {
315: throw new UnsupportedOperationException(
316: "Tried to call getAuxiliaryBinTitle on a Dummy");
317: }
318:
319: public void addAuxiliaryFile(OpenDefinitionsDocument doc) {
320: throw new UnsupportedOperationException(
321: "Tried to call addAuxiliaryFile on a Dummy");
322: }
323:
324: public void removeAuxiliaryFile(OpenDefinitionsDocument doc) {
325: throw new UnsupportedOperationException(
326: "Tried to call removeAuxiliaryFile on a Dummy");
327: }
328:
329: public void openProject(File file) throws IOException,
330: MalformedProjectFileException {
331: throw new UnsupportedOperationException(
332: "Tried to call openProject on a Dummy");
333: }
334:
335: public void closeProject(boolean quitting) {
336: throw new UnsupportedOperationException(
337: "Tried to call closeProject on a Dummy");
338: }
339:
340: public File getSourceFile(String fileName) {
341: throw new UnsupportedOperationException(
342: "Tried to call getSourceFile on a Dummy");
343: }
344:
345: public File findFileInPaths(String fileName, Iterable<File> paths) {
346: throw new UnsupportedOperationException(
347: "Tried to call getSourceFileFromPaths on a Dummy");
348: }
349:
350: public Iterable<File> getSourceRootSet() {
351: throw new UnsupportedOperationException(
352: "Tried to call getSourceRootSet on a Dummy");
353: }
354:
355: public String getCompletePath(int index) {
356: throw new UnsupportedOperationException(
357: "Tried to call getDisplayFullPath on a Dummy");
358: }
359:
360: public DefinitionsEditorKit getEditorKit() {
361: throw new UnsupportedOperationException(
362: "Tried to call getEditorKit on a Dummy");
363: }
364:
365: public DocumentIterator getDocumentIterator() {
366: throw new UnsupportedOperationException(
367: "Tried to call getDocumentIterator on a Dummy");
368: }
369:
370: public void refreshActiveDocument() {
371: throw new UnsupportedOperationException(
372: "Tried to call refreshActiveDocument on a Dummy");
373: }
374:
375: public ConsoleDocument getConsoleDocument() {
376: throw new UnsupportedOperationException(
377: "Tried to call getConsoleDocument on a Dummy");
378: }
379:
380: public InteractionsDJDocument getSwingConsoleDocument() {
381: throw new UnsupportedOperationException(
382: "Tried to call getSwingConsoleDocument on a Dummy");
383: }
384:
385: public void resetConsole() {
386: throw new UnsupportedOperationException(
387: "Tried to call resetConsole on a Dummy");
388: }
389:
390: public void systemOutPrint(String s) {
391: throw new UnsupportedOperationException(
392: "Tried to call systemOutPrint on a Dummy");
393: }
394:
395: public void systemErrPrint(String s) {
396: throw new UnsupportedOperationException(
397: "Tried to call systemErrPrint on a Dummy");
398: }
399:
400: public void systemInEcho(String s) {
401: throw new UnsupportedOperationException(
402: "Tried to call systemInEcho on a Dummy");
403: }
404:
405: public InteractionsDocument getInteractionsDocument() {
406: throw new UnsupportedOperationException(
407: "Tried to call getInteractionsDocument on a Dummy");
408: }
409:
410: public InteractionsDJDocument getSwingInteractionsDocument() {
411: throw new UnsupportedOperationException(
412: "Tried to call getSwingInteractionsDocument on a Dummy");
413: }
414:
415: public void resetInteractions(File wd) {
416: throw new UnsupportedOperationException(
417: "Tried to call resetInteractions on a Dummy");
418: }
419:
420: public void resetInteractions(File wd, boolean forceReset) {
421: throw new UnsupportedOperationException(
422: "Tried to call resetInteractions on a Dummy");
423: }
424:
425: public void waitForInterpreter() {
426: throw new UnsupportedOperationException(
427: "Tried to call waitForInterpreter on a Dummy");
428: }
429:
430: public void interpretCurrentInteraction() {
431: throw new UnsupportedOperationException(
432: "Tried to call interpretCurrentInteraction on a Dummy");
433: }
434:
435: public Iterable<File> getInteractionsClassPath() {
436: throw new UnsupportedOperationException(
437: "Tried to call getInteractionsClasspath on a Dummy");
438: }
439:
440: public void loadHistory(FileOpenSelector selector)
441: throws IOException {
442: throw new UnsupportedOperationException(
443: "Tried to call loadHistory on a Dummy");
444: }
445:
446: public InteractionsScriptModel loadHistoryAsScript(
447: FileOpenSelector s) throws IOException,
448: OperationCanceledException {
449: throw new UnsupportedOperationException(
450: "Tried to call loadHistoryAsScript on a Dummy");
451: }
452:
453: public void clearHistory() {
454: throw new UnsupportedOperationException(
455: "Tried to call clearHistory on a Dummy");
456: }
457:
458: public void saveHistory(FileSaveSelector selector)
459: throws IOException {
460: throw new UnsupportedOperationException(
461: "Tried to call saveHistory on a Dummy");
462: }
463:
464: public void saveHistory(FileSaveSelector selector,
465: String editedVersion) throws IOException {
466: throw new UnsupportedOperationException(
467: "Tried to call saveHistory on a Dummy");
468: }
469:
470: public String getHistoryAsStringWithSemicolons() {
471: throw new UnsupportedOperationException(
472: "Tried to call getHistoryAsStringWithSemicolons on a Dummy");
473: }
474:
475: public String getHistoryAsString() {
476: throw new UnsupportedOperationException(
477: "Tried to call getHistory on a Dummy");
478: }
479:
480: public void printDebugMessage(String s) {
481: throw new UnsupportedOperationException(
482: "Tried to call printDebugMessage on a Dummy");
483: }
484:
485: public int getDebugPort() throws IOException {
486: throw new UnsupportedOperationException(
487: "Tried to call getDebugPort on a Dummy");
488: }
489:
490: public Iterable<File> getClassPath() {
491: throw new UnsupportedOperationException(
492: "Tried to call getClassPath on a Dummy");
493: }
494:
495: public PageFormat getPageFormat() {
496: throw new UnsupportedOperationException(
497: "Tried to call getPageFormat on a Dummy");
498: }
499:
500: public void setPageFormat(PageFormat format) {
501: throw new UnsupportedOperationException(
502: "Tried to call setPageFormat on a Dummy");
503: }
504:
505: public void quit() {
506: throw new UnsupportedOperationException(
507: "Tried to call quit on a Dummy");
508: }
509:
510: public void forceQuit() {
511: throw new UnsupportedOperationException(
512: "Tried to call forceQuit on a Dummy");
513: }
514:
515: public int getDocumentCount() {
516: throw new UnsupportedOperationException(
517: "Tried to call getDocumentCount on a Dummy");
518: }
519:
520: public int getNumCompErrors() {
521: throw new UnsupportedOperationException(
522: "Tried to call getNumCompErrors on a Dummy");
523: }
524:
525: public void setNumCompErrors(int num) {
526: throw new UnsupportedOperationException(
527: "Tried to call setNumCompErrors on a Dummy");
528: }
529:
530: public OpenDefinitionsDocument getODDForDocument(
531: AbstractDocumentInterface doc) {
532: throw new UnsupportedOperationException(
533: "Tried to call getODDForDocument on a Dummy");
534: }
535:
536: public List<OpenDefinitionsDocument> getNonProjectDocuments() {
537: throw new UnsupportedOperationException(
538: "Tried to call getNonProjectDocuments on a Dummy");
539: }
540:
541: public List<OpenDefinitionsDocument> getProjectDocuments() {
542: throw new UnsupportedOperationException(
543: "Tried to call getProjectDocuments on a Dummy");
544: }
545:
546: public boolean isProjectActive() {
547: throw new UnsupportedOperationException(
548: "Tried to call isProjectActive on a Dummy");
549: }
550:
551: // public void junitAll() {
552: // throw new UnsupportedOperationException("Tried to call junitAll on a Dummy");
553: // }
554:
555: public File getProjectFile() {
556: throw new UnsupportedOperationException(
557: "Tried to call getProjectFile on a Dummy");
558: }
559:
560: public File[] getProjectFiles() {
561: throw new UnsupportedOperationException(
562: "Tried to call getProjectFiles on a Dummy");
563: }
564:
565: public File getProjectRoot() {
566: throw new UnsupportedOperationException(
567: "Tried to call getProjectRoot on a Dummy");
568: }
569:
570: public void setProjectFile(File f) {
571: throw new UnsupportedOperationException(
572: "Tried to call setProjectFile on a Dummy");
573: }
574:
575: public void setProjectRoot(File f) {
576: throw new UnsupportedOperationException(
577: "Tried to call setProjectRoot on a Dummy");
578: }
579:
580: public File getBuildDirectory() {
581: throw new UnsupportedOperationException(
582: "Tried to call getBuildDirectory on a Dummy");
583: }
584:
585: public void setBuildDirectory(File f) {
586: throw new UnsupportedOperationException(
587: "Tried to call setBuildDirectory on a Dummy");
588: }
589:
590: public File getMasterWorkingDirectory() {
591: throw new UnsupportedOperationException(
592: "Tried to call getMasterWorkingDirectory on a Dummy");
593: }
594:
595: public File getWorkingDirectory() {
596: throw new UnsupportedOperationException(
597: "Tried to call getWorkingDirectory on a Dummy");
598: }
599:
600: public void setWorkingDirectory(File f) {
601: throw new UnsupportedOperationException(
602: "Tried to call setWorkingDirectory on a Dummy");
603: }
604:
605: public void setMainClass(File f) {
606: throw new UnsupportedOperationException(
607: "Tried to call setMainClass on a Dummy");
608: }
609:
610: public File getMainClass() {
611: throw new UnsupportedOperationException(
612: "Tried to call getMainClass on a Dummy");
613: }
614:
615: public Iterable<File> getExtraClassPath() {
616: throw new UnsupportedOperationException(
617: "Tried to call getExtraClasspath on a Dummy");
618: }
619:
620: public void setExtraClassPath(Iterable<File> cp) {
621: throw new UnsupportedOperationException(
622: "Tried to call setExtraClasspath on a Dummy");
623: }
624:
625: public void setCreateJarFile(File f) {
626: throw new UnsupportedOperationException(
627: "Tried to call setCreateJarFile on a Dummy");
628: }
629:
630: public File getCreateJarFile() {
631: throw new UnsupportedOperationException(
632: "Tried to call getCreateJarFile on a Dummy");
633: }
634:
635: public void setCreateJarFlags(int f) {
636: throw new UnsupportedOperationException(
637: "Tried to call setCreateJarFlags on a Dummy");
638: }
639:
640: public int getCreateJarFlags() {
641: throw new UnsupportedOperationException(
642: "Tried to call getCreateJarFlags on a Dummy");
643: }
644:
645: public boolean inProject(File f) {
646: throw new UnsupportedOperationException(
647: "Tried to call inProject on a Dummy");
648: }
649:
650: public boolean inProjectPath(OpenDefinitionsDocument doc) {
651: throw new UnsupportedOperationException(
652: "Tried to call inProject on a Dummy");
653: }
654:
655: public void setProjectChanged(boolean changed) {
656: throw new UnsupportedOperationException(
657: "Tried to call setProjectChanged on a Dummy");
658: }
659:
660: public boolean isProjectChanged() {
661: throw new UnsupportedOperationException(
662: "Tried to call isProjectChanged on a Dummy");
663: }
664:
665: public boolean hasOutOfSyncDocuments() {
666: throw new UnsupportedOperationException(
667: "Tried to call hasOutOfSyncDocuments on a Dummy");
668: }
669:
670: public boolean hasOutOfSyncDocuments(
671: List<OpenDefinitionsDocument> lod) {
672: throw new UnsupportedOperationException(
673: "Tried to call hasOutOfSyncDocuments on a Dummy");
674: }
675:
676: public void cleanBuildDirectory() {
677: throw new UnsupportedOperationException(
678: "Tried to call cleanBuildDirectory on a Dummy");
679: }
680:
681: public List<File> getClassFiles() {
682: throw new UnsupportedOperationException(
683: "Tried to call getClassFiles on a Dummy");
684: }
685:
686: public OpenDefinitionsDocument getDocumentForFile(File file)
687: throws IOException {
688: throw new UnsupportedOperationException(
689: "Tried to getDocumentForFile on a Dummy with file: "
690: + file);
691: }
692:
693: public boolean isAlreadyOpen(File file) {
694: throw new UnsupportedOperationException(
695: "Tried to call isAlreadyOpen on a Dummy with file: "
696: + file);
697: }
698:
699: public List<OpenDefinitionsDocument> getOpenDefinitionsDocuments() {
700: throw new UnsupportedOperationException(
701: "Tried to getOpenDefinitionsDocuments on a Dummy!");
702: }
703:
704: public List<OpenDefinitionsDocument> getSortedOpenDefinitionsDocuments() {
705: throw new UnsupportedOperationException(
706: "Tried to getSortedOpenDefinitionsDocuments on a Dummy!");
707: }
708:
709: public boolean hasModifiedDocuments() {
710: throw new UnsupportedOperationException(
711: "Tried to call hasModifiedDocuments on a Dummy!");
712: }
713:
714: public boolean hasModifiedDocuments(
715: List<OpenDefinitionsDocument> lod) {
716: throw new UnsupportedOperationException(
717: "Tried to call hasModifiedDocuments on a Dummy!");
718: }
719:
720: public boolean hasUntitledDocuments() {
721: throw new UnsupportedOperationException(
722: "Tried to call hasUntitliedDocuments on a Dummy!");
723: }
724:
725: // Any lightweight parsing has been disabled until we have something that is beneficial and works better in the background.
726: // /** @return the parsing control */
727: // public LightWeightParsingControl getParsingControl() {
728: // throw new UnsupportedOperationException("Tried to call getParsingControl on a Dummy!");
729: // }
730: }
|