001 package org.extendj.ast; 002 003 import java.util.HashSet; 004 import java.io.File; 005 import java.util.Set; 006 import java.util.Collections; 007 import java.util.Collection; 008 import java.util.ArrayList; 009 import beaver.*; 010 import java.util.*; 011 import java.io.ByteArrayOutputStream; 012 import java.io.PrintStream; 013 import java.lang.reflect.InvocationTargetException; 014 import java.lang.reflect.Method; 015 import org.jastadd.util.*; 016 import java.util.zip.*; 017 import java.io.*; 018 import org.jastadd.util.PrettyPrintable; 019 import org.jastadd.util.PrettyPrinter; 020 import java.io.FileNotFoundException; 021 import java.io.BufferedInputStream; 022 import java.io.DataInputStream; 023 /** 024 * @ast class 025 * @aspect PathPart 026 * @declaredat /home/jesper/git/extendj/java4/frontend/PathPart.jadd:159 027 */ 028 public class FileClassSource extends ClassSource { 029 030 private final String filePath; 031 032 033 034 public FileClassSource(PathPart sourcePath, String path) { 035 super(sourcePath); 036 this.filePath = path; 037 } 038 039 040 041 @Override 042 public long lastModified() { 043 // last modification time computed only if needed 044 File file = new File(filePath); 045 return file.lastModified(); 046 } 047 048 049 050 @Override 051 public InputStream openInputStream() throws IOException { 052 File file = new File(filePath); 053 return new FileInputStream(file); 054 } 055 056 057 058 @Override 059 public String pathName() { 060 return filePath; 061 } 062 063 064 }