aboutsummaryrefslogtreecommitdiff
path: root/javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java
diff options
context:
space:
mode:
authorDanny van Bruggen <hexagonaal@gmail.com>2017-04-14 15:43:20 +0200
committerDanny van Bruggen <hexagonaal@gmail.com>2017-04-14 15:43:20 +0200
commit7cd83c2e73deb47d79e71cc6afc3eb4b613302d1 (patch)
tree3acd7ed0094034c2cd57ce84573c824b555fecf4 /javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java
parentfb5ace2780cb770721de30672ba3df6210e1dfe2 (diff)
downloadjavaparser-7cd83c2e73deb47d79e71cc6afc3eb4b613302d1.tar.gz
* Make "asString" methods for types
* Strip signature types of annotations and generics
Diffstat (limited to 'javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java')
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java21
1 files changed, 17 insertions, 4 deletions
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java b/javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java
index aef700f84..78f28c57f 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java
@@ -22,6 +22,7 @@ package com.github.javaparser.ast.type;
import com.github.javaparser.Range;
import com.github.javaparser.ast.AllFieldsConstructor;
+import com.github.javaparser.ast.Node;
import com.github.javaparser.ast.NodeList;
import com.github.javaparser.ast.expr.AnnotationExpr;
import com.github.javaparser.ast.expr.SimpleName;
@@ -29,16 +30,18 @@ import com.github.javaparser.ast.nodeTypes.NodeWithAnnotations;
import com.github.javaparser.ast.nodeTypes.NodeWithSimpleName;
import com.github.javaparser.ast.nodeTypes.NodeWithTypeArguments;
import com.github.javaparser.ast.observer.ObservableProperty;
+import com.github.javaparser.ast.visitor.CloneVisitor;
import com.github.javaparser.ast.visitor.GenericVisitor;
import com.github.javaparser.ast.visitor.VoidVisitor;
+import com.github.javaparser.metamodel.ClassOrInterfaceTypeMetaModel;
+import com.github.javaparser.metamodel.JavaParserMetaModel;
+
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
+
import static com.github.javaparser.utils.Utils.assertNotNull;
-import com.github.javaparser.ast.Node;
-import com.github.javaparser.ast.visitor.CloneVisitor;
-import com.github.javaparser.metamodel.ClassOrInterfaceTypeMetaModel;
-import com.github.javaparser.metamodel.JavaParserMetaModel;
+import static java.util.stream.Collectors.joining;
/**
* A class or an interface type. <br/><code>Object</code> <br/><code>HashMap&lt;String, String></code>
@@ -201,6 +204,16 @@ public final class ClassOrInterfaceType extends ReferenceType implements NodeWit
return super.remove(node);
}
+ @Override
+ public String asString() {
+ StringBuilder str = new StringBuilder();
+ getScope().ifPresent(s -> str.append(s.asString()).append("."));
+ str.append(name.asString());
+
+ getTypeArguments().ifPresent(ta -> str.append(ta.stream().map(Type::asString).collect(joining(",", "<", ">"))));
+ return str.toString();
+ }
+
public ClassOrInterfaceType removeScope() {
return setScope((ClassOrInterfaceType) null);
}