Use common library to read file content.
[javainspect.git] / src / main / java / eu / svjatoslav / inspector / java / methods / Clazz.java
old mode 100644 (file)
new mode 100755 (executable)
index 3c5333b..585cfd0
@@ -1,84 +1,96 @@
+/*
+ * JavaInspect - Utility to visualize java software
+ * Copyright (C) 2013-2020, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 3 of the GNU Lesser General Public License
+ * or later as published by the Free Software Foundation.
+ */
+
 package eu.svjatoslav.inspector.java.methods;
 
+import eu.svjatoslav.commons.string.tokenizer.InvalidSyntaxException;
+import eu.svjatoslav.commons.string.tokenizer.Tokenizer;
+import eu.svjatoslav.commons.string.tokenizer.TokenizerMatch;
+
 import java.util.ArrayList;
 import java.util.List;
 
-import eu.svjatoslav.inspector.tokenizer.InvalidSyntaxException;
-import eu.svjatoslav.inspector.tokenizer.Tokenizer;
-import eu.svjatoslav.inspector.tokenizer.TokenizerMatch;
-
 public class Clazz {
 
-       private final String packageName;
-       private final String className;
-       private final boolean isInterface;
+    public final List<ClassReference> implementedInterfaces = new ArrayList<>();
+    private final String packageName;
+    private final String className;
+    private final boolean isInterface;
+    public ClassReference superClass;
 
-       public ClassReference superClass;
-       public List<ClassReference> implementedInterfaces = new ArrayList<ClassReference>();
+    public Clazz(final String packageName, final String className,
+                 final Tokenizer tokenizer, final boolean isInterface)
+            throws InvalidSyntaxException {
 
-       public Clazz(final String packageName, final String className,
-                       final Tokenizer tokenizer, final boolean isInterface)
-                       throws InvalidSyntaxException {
+        this.packageName = packageName;
+        this.className = className;
+        this.isInterface = isInterface;
 
-               this.packageName = packageName;
-               this.className = className;
-               this.isInterface = isInterface;
+        while (true) {
+            final TokenizerMatch match = tokenizer.getNextToken();
 
-               while (true) {
-                       final TokenizerMatch match = tokenizer.getNextToken();
+            if ("extends".equals(match.token)) {
+                superClass = new ClassReference(tokenizer);
+                continue;
+            }
 
-                       if ("extends".equals(match.token)) {
-                               superClass = new ClassReference(tokenizer);
-                               continue;
-                       }
+            if ("implements".equals(match.token)) {
+                while (true) {
+                    implementedInterfaces.add(new ClassReference(tokenizer));
 
-                       if ("implements".equals(match.token)) {
-                               while (true) {
-                                       implementedInterfaces.add(new ClassReference(tokenizer));
+                    if (tokenizer.consumeIfNextToken(","))
+                        continue;
 
-                                       if (tokenizer.probeNextToken(","))
-                                               continue;
+                    break;
+                }
+                continue;
+            }
 
-                                       break;
-                               }
-                               continue;
-                       }
+            if ("{".equals(match.token)) {
+                parseClassBody(tokenizer);
+                break;
+            }
 
-                       if ("{".equals(match.token)) {
-                               parseClassBody(tokenizer);
-                               break;
-                       }
+        }
+    }
 
-               }
-       }
+    public String getFullName() {
+        return packageName + "." + className;
+    }
 
-       public void parseClassBody(final Tokenizer tokenizer) {
-               tokenizer.skipUntilDataEnd();
-       }
+    public void parseClassBody(final Tokenizer tokenizer) {
+        tokenizer.skipUntilDataEnd();
+    }
 
-       @Override
-       public String toString() {
-               final EnumerationBuffer result = new EnumerationBuffer();
+    @Override
+    public String toString() {
+        final EnumerationBuffer result = new EnumerationBuffer();
 
-               result.append(packageName + " -> " + className + " ");
+        result.append(packageName + " -> " + className + " ");
 
-               if (isInterface)
-                       result.append("(interface)");
-               else
-                       result.append("(class)");
-               result.append("\n");
+        if (isInterface)
+            result.append("(interface)");
+        else
+            result.append("(class)");
+        result.append("\n");
 
-               if (superClass != null)
-                       result.append("    super: " + superClass.toString() + "\n");
+        if (superClass != null)
+            result.append("    super: " + superClass.toString() + "\n");
 
-               if (implementedInterfaces.size() > 0) {
-                       result.append("    implements: ");
-                       for (final ClassReference classReference : implementedInterfaces)
-                               result.appendEnumeration(classReference.toString());
-                       result.append("\n");
-               }
+        if (implementedInterfaces.size() > 0) {
+            result.append("    implements: ");
+            for (final ClassReference classReference : implementedInterfaces)
+                result.appendEnumeration(classReference.toString());
+            result.append("\n");
+        }
 
-               return result.toString();
-       }
+        return result.toString();
+    }
 
 }