-package eu.svjatoslav.inspector.java.methods;
+/*
+ * 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.
+ */
-import java.util.ArrayList;
-import java.util.List;
+package eu.svjatoslav.inspector.java.methods;
import eu.svjatoslav.commons.string.tokenizer.InvalidSyntaxException;
import eu.svjatoslav.commons.string.tokenizer.Tokenizer;
-public class ClassReference {
+import java.util.ArrayList;
+import java.util.List;
- public String name;
+public class ClassReference {
- List<ClassReference> typeParameters = new ArrayList<ClassReference>();
+ final List<ClassReference> typeParameters = new ArrayList<>();
+ public String name;
- public ClassReference(final Tokenizer tokenizer)
- throws InvalidSyntaxException {
- name = tokenizer.getNextToken().token;
+ public ClassReference(final Tokenizer tokenizer)
+ throws InvalidSyntaxException {
+ name = tokenizer.getNextToken().token;
- if (!tokenizer.probeNextToken("<"))
- return;
+ if (!tokenizer.consumeIfNextToken("<"))
+ return;
- while (true) {
- final ClassReference parameterType = new ClassReference(tokenizer);
- typeParameters.add(parameterType);
+ while (true) {
+ final ClassReference parameterType = new ClassReference(tokenizer);
+ typeParameters.add(parameterType);
- if (!tokenizer.probeNextToken(","))
- break;
- }
+ if (!tokenizer.consumeIfNextToken(","))
+ break;
+ }
- tokenizer.expectNextToken(">");
- }
+ tokenizer.expectAndConsumeNextToken(">");
+ }
- @Override
- public String toString() {
- final EnumerationBuffer result = new EnumerationBuffer();
+ @Override
+ public String toString() {
+ final EnumerationBuffer result = new EnumerationBuffer();
- result.append(name);
+ result.append(name);
- if (typeParameters.size() > 0) {
- result.append("<");
- for (final ClassReference classReference : typeParameters)
- result.appendEnumeration(classReference.toString());
- result.append(">");
- }
+ if (typeParameters.size() > 0) {
+ result.append("<");
+ for (final ClassReference classReference : typeParameters)
+ result.appendEnumeration(classReference.toString());
+ result.append(">");
+ }
- return result.toString();
- }
+ return result.toString();
+ }
}