diff options
author | Christian Stein <sormuras@gmail.com> | 2015-10-24 04:17:02 +0200 |
---|---|---|
committer | Christian Stein <sormuras@gmail.com> | 2015-10-24 15:58:16 +0200 |
commit | 9d49d102e48c052b71ed64b5e575a38d784f5d49 (patch) | |
tree | b5bec26e2d477ba7b7866e423bf49d6b50bab19a /src/main/java/com/squareup/javapoet/ClassName.java | |
parent | 3bdc6b5c3faa4884684fd0b7ab2457e4bb7e45ff (diff) | |
download | javapoet-9d49d102e48c052b71ed64b5e575a38d784f5d49.tar.gz |
Enhanced TypeName(s) with List<AnnotationSpec> #136
Diffstat (limited to 'src/main/java/com/squareup/javapoet/ClassName.java')
-rw-r--r-- | src/main/java/com/squareup/javapoet/ClassName.java | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/main/java/com/squareup/javapoet/ClassName.java b/src/main/java/com/squareup/javapoet/ClassName.java index fdfe81f..0f6d7ce 100644 --- a/src/main/java/com/squareup/javapoet/ClassName.java +++ b/src/main/java/com/squareup/javapoet/ClassName.java @@ -17,6 +17,7 @@ package com.squareup.javapoet; import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; @@ -40,6 +41,11 @@ public final class ClassName extends TypeName implements Comparable<ClassName> { final String canonicalName; private ClassName(List<String> names) { + this(names, new ArrayList<AnnotationSpec>()); + } + + private ClassName(List<String> names, List<AnnotationSpec> annotations) { + super(annotations); for (int i = 1; i < names.size(); i++) { checkArgument(SourceVersion.isName(names.get(i)), "part '%s' is keyword", names.get(i)); } @@ -49,6 +55,14 @@ public final class ClassName extends TypeName implements Comparable<ClassName> { : Util.join(".", names); } + @Override public ClassName annotated(AnnotationSpec... annotations) { + return annotated(Arrays.asList(annotations)); + } + + @Override public ClassName annotated(List<AnnotationSpec> annotations) { + return new ClassName(names, annotations); + } + /** Returns the package name, like {@code "java.util"} for {@code Map.Entry}. */ public String packageName() { return names.get(0); @@ -203,6 +217,6 @@ public final class ClassName extends TypeName implements Comparable<ClassName> { } @Override CodeWriter emit(CodeWriter out) throws IOException { - return out.emitAndIndent(out.lookupName(this)); + return emitAnnotations(out).emitAndIndent(out.lookupName(this)); } } |