reduced method visibility
[javainspect.git] / src / main / java / eu / svjatoslav / inspector / java / methods / Clazz.java
old mode 100644 (file)
new mode 100755 (executable)
index fda73d1..2825e3f
@@ -1,27 +1,40 @@
+/*
+ * JavaInspect - Utility to visualize java software
+ * Copyright (C) 2013-2015, 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 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;
+import eu.svjatoslav.commons.string.tokenizer.InvalidSyntaxException;
+import eu.svjatoslav.commons.string.tokenizer.Tokenizer;
+import eu.svjatoslav.commons.string.tokenizer.TokenizerMatch;
 
 public class Clazz {
 
        private final String packageName;
        private final String className;
+       private final boolean isInterface;
 
        public ClassReference superClass;
        public List<ClassReference> implementedInterfaces = new ArrayList<ClassReference>();
 
        public Clazz(final String packageName, final String className,
-                       final Tokenizer tokenizer) throws InvalidSyntaxException {
+                       final Tokenizer tokenizer, final boolean isInterface)
+                       throws InvalidSyntaxException {
+
                this.packageName = packageName;
                this.className = className;
+               this.isInterface = isInterface;
 
                while (true) {
-                       final TokenizerMatch match = tokenizer.getToken();
+                       final TokenizerMatch match = tokenizer.getNextToken();
 
                        if ("extends".equals(match.token)) {
                                superClass = new ClassReference(tokenizer);
@@ -32,7 +45,7 @@ public class Clazz {
                                while (true) {
                                        implementedInterfaces.add(new ClassReference(tokenizer));
 
-                                       if (tokenizer.isNextToken(","))
+                                       if (tokenizer.probeNextToken(","))
                                                continue;
 
                                        break;
@@ -48,15 +61,26 @@ public class Clazz {
                }
        }
 
+       public String getFullName() {
+               return packageName + "." + className;
+       }
+
        public void parseClassBody(final Tokenizer tokenizer) {
-               tokenizer.skipUtilEnd();
+               tokenizer.skipUntilDataEnd();
        }
 
        @Override
        public String toString() {
                final EnumerationBuffer result = new EnumerationBuffer();
 
-               result.append(packageName + " -> " + className + "\n");
+               result.append(packageName + " -> " + className + " ");
+
+               if (isInterface)
+                       result.append("(interface)");
+               else
+                       result.append("(class)");
+               result.append("\n");
+
                if (superClass != null)
                        result.append("    super: " + superClass.toString() + "\n");