aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/squareup/javapoet/ClassName.java
diff options
context:
space:
mode:
authorJesse Wilson <jwilson@squareup.com>2015-01-16 12:22:03 -0500
committerJesse Wilson <jwilson@squareup.com>2015-01-17 11:41:20 -0500
commit0f0f80c0eb67ec2d71e6b01d9801480298eaed57 (patch)
tree598a8d277a59b71e6556eff4d038c939d05c6adb /src/main/java/com/squareup/javapoet/ClassName.java
parent1c01bb794df37d2ef65d6f57463b02a88572dc12 (diff)
downloadjavapoet-0f0f80c0eb67ec2d71e6b01d9801480298eaed57.tar.gz
API ergonomics redux.
Diffstat (limited to 'src/main/java/com/squareup/javapoet/ClassName.java')
-rw-r--r--src/main/java/com/squareup/javapoet/ClassName.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/main/java/com/squareup/javapoet/ClassName.java b/src/main/java/com/squareup/javapoet/ClassName.java
index 6ebf5e9..91dc3fa 100644
--- a/src/main/java/com/squareup/javapoet/ClassName.java
+++ b/src/main/java/com/squareup/javapoet/ClassName.java
@@ -75,7 +75,7 @@ public final class ClassName implements Type, Comparable<ClassName> {
* Returns a new {@link ClassName} instance for the specified {@code name} as nested inside this
* class.
*/
- public ClassName nestedClassNamed(String name) {
+ public ClassName nestedClass(String name) {
checkNotNull(name, "name == null");
return new ClassName(new ImmutableList.Builder<String>()
.addAll(names)
@@ -87,6 +87,18 @@ public final class ClassName implements Type, Comparable<ClassName> {
return names.subList(1, names.size());
}
+ /**
+ * Returns a class that shares the same enclosing package or class. If this class is enclosed by
+ * another class, this is equivalent to {@code enclosingClassName().nestedClass(name)}. Otherwise
+ * it is equivalent to {@code get(packageName(), name)}.
+ */
+ public ClassName peerClass(String name) {
+ return new ClassName(new ImmutableList.Builder<String>()
+ .addAll(names.subList(0, names.size() - 1))
+ .add(name)
+ .build());
+ }
+
/** Returns the simple name of this class, like {@code "Entry"} for {@link Map.Entry}. */
public String simpleName() {
return Iterables.getLast(names);