X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=javainspect.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finspector%2Fjava%2Fmethods%2FClazz.java;h=585cfd0c69969a8e685e91a35c4257f5f93504ef;hp=3c5333b9b2a0265435e2435daa178cadcb77f503;hb=b2f519fd934cd49afbb5cfc88b3d2be396af0afa;hpb=05934ede2e526bc55d3661d6029891bef70fd3b9 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 3c5333b..585cfd0 --- a/src/main/java/eu/svjatoslav/inspector/java/methods/Clazz.java +++ b/src/main/java/eu/svjatoslav/inspector/java/methods/Clazz.java @@ -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 implementedInterfaces = new ArrayList<>(); + private final String packageName; + private final String className; + private final boolean isInterface; + public ClassReference superClass; - public ClassReference superClass; - public List implementedInterfaces = new ArrayList(); + 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(); + } }