X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finspector%2Fjava%2Fmethods%2FClazz.java;h=2825e3fd413bc27e61466bd5a6a117a425514947;hb=0a0fbcb01497d4a860cbbcb60ecefdcee4f89067;hp=fda73d13e842628b3925d6cbcc8c007b4ff66a45;hpb=9811fe796d6f549151ab904714e1a65ff2839ee2;p=javainspect.git diff --git a/src/main/java/eu/svjatoslav/inspector/java/methods/Clazz.java b/src/main/java/eu/svjatoslav/inspector/java/methods/Clazz.java old mode 100644 new mode 100755 index fda73d1..2825e3f --- a/src/main/java/eu/svjatoslav/inspector/java/methods/Clazz.java +++ b/src/main/java/eu/svjatoslav/inspector/java/methods/Clazz.java @@ -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 implementedInterfaces = new ArrayList(); 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");