diff options
author | Jesse Wilson <jwilson@squareup.com> | 2015-01-16 12:22:03 -0500 |
---|---|---|
committer | Jesse Wilson <jwilson@squareup.com> | 2015-01-17 11:41:20 -0500 |
commit | 0f0f80c0eb67ec2d71e6b01d9801480298eaed57 (patch) | |
tree | 598a8d277a59b71e6556eff4d038c939d05c6adb /src/main/java/com/squareup/javapoet/ClassName.java | |
parent | 1c01bb794df37d2ef65d6f57463b02a88572dc12 (diff) | |
download | javapoet-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.java | 14 |
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); |