diff options
author | Daniil Popov <int02h@gmail.com> | 2018-11-12 07:32:46 +0300 |
---|---|---|
committer | Jake Wharton <jakewharton@gmail.com> | 2018-11-11 23:32:46 -0500 |
commit | 30a8bdaa2224f224be04261b9fceea6cd7048cd5 (patch) | |
tree | 9e962771f75cd2d9cbb0ca0ba431db13d09fbd55 | |
parent | ea7a02ee88f8a3aa9afd3a9268390f4f9fee4b59 (diff) | |
download | javapoet-30a8bdaa2224f224be04261b9fceea6cd7048cd5.tar.gz |
Public getter for canonical name of ClassName (#687)
-rw-r--r-- | src/main/java/com/squareup/javapoet/ClassName.java | 8 | ||||
-rw-r--r-- | src/test/java/com/squareup/javapoet/ClassNameTest.java | 10 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/main/java/com/squareup/javapoet/ClassName.java b/src/main/java/com/squareup/javapoet/ClassName.java index 99c4ed2..e044985 100644 --- a/src/main/java/com/squareup/javapoet/ClassName.java +++ b/src/main/java/com/squareup/javapoet/ClassName.java @@ -138,6 +138,14 @@ public final class ClassName extends TypeName implements Comparable<ClassName> { return simpleName; } + /** + * Returns the full class name of this class. + * Like {@code "java.util.Map.Entry"} for {@link Map.Entry}. + * */ + public String canonicalName() { + return canonicalName; + } + public static ClassName get(Class<?> clazz) { checkNotNull(clazz, "clazz == null"); checkArgument(!clazz.isPrimitive(), "primitive types cannot be represented as a ClassName"); diff --git a/src/test/java/com/squareup/javapoet/ClassNameTest.java b/src/test/java/com/squareup/javapoet/ClassNameTest.java index e2cc55e..590ad5d 100644 --- a/src/test/java/com/squareup/javapoet/ClassNameTest.java +++ b/src/test/java/com/squareup/javapoet/ClassNameTest.java @@ -193,4 +193,14 @@ public final class ClassNameTest { assertEquals("Foo$Bar$Baz", ClassName.get("", "Foo", "Bar", "Baz").reflectionName()); assertEquals("a.b.c.Foo$Bar$Baz", ClassName.get("a.b.c", "Foo", "Bar", "Baz").reflectionName()); } + + @Test + public void canonicalName() { + assertEquals("java.lang.Object", TypeName.OBJECT.canonicalName()); + assertEquals("java.lang.Thread.State", ClassName.get(Thread.State.class).canonicalName()); + assertEquals("java.util.Map.Entry", ClassName.get(Map.Entry.class).canonicalName()); + assertEquals("Foo", ClassName.get("", "Foo").canonicalName()); + assertEquals("Foo.Bar.Baz", ClassName.get("", "Foo", "Bar", "Baz").canonicalName()); + assertEquals("a.b.c.Foo.Bar.Baz", ClassName.get("a.b.c", "Foo", "Bar", "Baz").canonicalName()); + } } |