1 package eu.svjatoslav.inspector.java.methods;
3 import java.io.BufferedReader;
5 import java.io.FileNotFoundException;
6 import java.io.FileReader;
7 import java.io.IOException;
8 import java.util.ArrayList;
11 import eu.svjatoslav.inspector.tokenizer.Tokenizer;
12 import eu.svjatoslav.inspector.tokenizer.TokenizerMatch;
14 public class JavaFile {
16 private final List<Import> imports = new ArrayList<Import>();
18 private final File file;
20 StringBuffer contents = new StringBuffer();
22 public JavaFile(final File file) throws IOException {
27 public void parse() throws IOException {
28 System.out.println("java file: " + file);
32 final Tokenizer tokenizer = new Tokenizer(contents.toString());
33 tokenizer.addTerminator(" ", true);
34 tokenizer.addTerminator("\t", true);
35 tokenizer.addTerminator("\n", true);
37 tokenizer.addTerminator(";", false);
38 tokenizer.addTerminator("{", false);
39 tokenizer.addTerminator("}", false);
40 tokenizer.addTerminator("(", false);
41 tokenizer.addTerminator(")", false);
42 tokenizer.addTerminator("[", false);
43 tokenizer.addTerminator("]", false);
46 final TokenizerMatch match = tokenizer.getToken();
50 if (match.token.equals("import"))
51 parseImport(tokenizer);
53 if (match.token.equals("package"))
54 parsePackage(tokenizer);
60 private void parseImport(final Tokenizer tokenizer) {
61 final Import imp = new Import();
63 TokenizerMatch match = tokenizer.getToken();
65 if (match.token.equals("static")) {
67 imp.path = tokenizer.getToken().token;
69 imp.path = match.token;
74 match = tokenizer.getToken();
77 private void parsePackage(final Tokenizer tokenizer) {
79 TokenizerMatch match = tokenizer.getToken();
81 System.out.println(match.token);
84 match = tokenizer.getToken();
87 private void readFile() throws FileNotFoundException, IOException {
88 final FileReader fileReader = new FileReader(file);
90 final BufferedReader bufferedReader = new BufferedReader(fileReader);
93 final String line = bufferedReader.readLine();
98 contents.append(line);
99 contents.append("\n");
102 bufferedReader.close();