diff options
author | Maximilien CRUZ <max@rockpalm.it> | 2016-07-14 17:30:34 +0200 |
---|---|---|
committer | Maximilien CRUZ <max@rockpalm.it> | 2016-07-17 22:04:31 +0200 |
commit | 390fbb37cc7f41787cf2559842beb98e7058b4ae (patch) | |
tree | 80c81fa37bbb44dabaff06375ddd9123c75eb97e /javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java | |
parent | d1b21c6bee0519451ba7c39b6f3ade8aa9be109c (diff) | |
download | platform_external_javaparser-390fbb37cc7f41787cf2559842beb98e7058b4ae.tar.gz platform_external_javaparser-390fbb37cc7f41787cf2559842beb98e7058b4ae.tar.bz2 platform_external_javaparser-390fbb37cc7f41787cf2559842beb98e7058b4ae.zip |
builder methods for #363
Diffstat (limited to 'javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java')
-rw-r--r-- | javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java | 118 |
1 files changed, 73 insertions, 45 deletions
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java index c70ff612c..ce09b432a 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java @@ -18,63 +18,91 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. */ - + package com.github.javaparser.ast.expr; -import com.github.javaparser.Range; -import com.github.javaparser.ast.visitor.GenericVisitor; -import com.github.javaparser.ast.visitor.VoidVisitor; +import static com.github.javaparser.Position.pos; +import static com.github.javaparser.ast.internal.Utils.ensureNotNull; import java.util.List; -import static com.github.javaparser.Position.pos; -import static com.github.javaparser.ast.internal.Utils.*; +import com.github.javaparser.ASTHelper; +import com.github.javaparser.Range; +import com.github.javaparser.ast.visitor.GenericVisitor; +import com.github.javaparser.ast.visitor.VoidVisitor; /** * @author Julio Vilmar Gesser */ public final class NormalAnnotationExpr extends AnnotationExpr { - private List<MemberValuePair> pairs; - - public NormalAnnotationExpr() { - } - - public NormalAnnotationExpr(final NameExpr name, final List<MemberValuePair> pairs) { - setName(name); - setPairs(pairs); - } - - /** - * @deprecated prefer using Range objects. - */ - @Deprecated - public NormalAnnotationExpr(final int beginLine, final int beginColumn, final int endLine, final int endColumn, - final NameExpr name, final List<MemberValuePair> pairs) { - this(new Range(pos(beginLine, beginColumn), pos(endLine, endColumn)), name, pairs); - } - - public NormalAnnotationExpr(final Range range, final NameExpr name, final List<MemberValuePair> pairs) { - super(range); - setName(name); - setPairs(pairs); - } - - @Override public <R, A> R accept(final GenericVisitor<R, A> v, final A arg) { - return v.visit(this, arg); - } - - @Override public <A> void accept(final VoidVisitor<A> v, final A arg) { - v.visit(this, arg); - } - - public List<MemberValuePair> getPairs() { + private List<MemberValuePair> pairs; + + public NormalAnnotationExpr() { + } + + public NormalAnnotationExpr(final NameExpr name, final List<MemberValuePair> pairs) { + setName(name); + setPairs(pairs); + } + + /** + * @deprecated prefer using Range objects. + */ + @Deprecated + public NormalAnnotationExpr(final int beginLine, final int beginColumn, final int endLine, final int endColumn, + final NameExpr name, final List<MemberValuePair> pairs) { + this(new Range(pos(beginLine, beginColumn), pos(endLine, endColumn)), name, pairs); + } + + public NormalAnnotationExpr(final Range range, final NameExpr name, final List<MemberValuePair> pairs) { + super(range); + setName(name); + setPairs(pairs); + } + + @Override + public <R, A> R accept(final GenericVisitor<R, A> v, final A arg) { + return v.visit(this, arg); + } + + @Override + public <A> void accept(final VoidVisitor<A> v, final A arg) { + v.visit(this, arg); + } + + public List<MemberValuePair> getPairs() { pairs = ensureNotNull(pairs); return pairs; - } + } + + public void setPairs(final List<MemberValuePair> pairs) { + this.pairs = pairs; + setAsParentNodeOf(this.pairs); + } + + /** + * adds a pair to this annotation + * + * @param key + * @param value + * @return this, the {@link NormalAnnotationExpr} + */ + public NormalAnnotationExpr addPair(String key, String value) { + return addPair(key, ASTHelper.createNameExpr(value)); + } - public void setPairs(final List<MemberValuePair> pairs) { - this.pairs = pairs; - setAsParentNodeOf(this.pairs); - } + /** + * adds a pair to this annotation + * + * @param key + * @param value + * @return this, the {@link NormalAnnotationExpr} + */ + public NormalAnnotationExpr addPair(String key, NameExpr value) { + MemberValuePair memberValuePair = new MemberValuePair(key, value); + getPairs().add(memberValuePair); + memberValuePair.setParentNode(this); + return this; + } } |