/** * Simply set the pair's value. */ @Override protected void modifyMemberValuePair(MemberValuePair pair, Annotation inner) { pair.setValue(inner); }
public void setExpression(ASTNode node, Expression expression) { ((MemberValuePair) node).setValue(expression); } @Override
protected void setValueNormalAnnotation(Expression value, NormalAnnotation annotation, ModifiedDeclaration declaration) { MemberValuePair pair = this.memberValuePair(annotation); if (pair == null) { this.addValue(value, annotation); } else { pair.setValue(value); } }
MemberValuePair mV = astRoot.getAST().newMemberValuePair(); mV.setName(astRoot.getAST().newSimpleName("name")); TypeLiteral typeLiteral = astRoot.getAST().newTypeLiteral(); typeLiteral.setType(astRoot.getAST().newSimpleType(astRoot.getAST().newSimpleName("Blup"))); mV.setValue(typeLiteral); newNormalAnnotation.values().add(mV);
protected void addValue(Expression value, NormalAnnotation annotation, String annotationElementName) { AST ast = annotation.getAST(); MemberValuePair pair = ast.newMemberValuePair(); pair.setName(ast.newSimpleName(annotationElementName)); pair.setValue(value); List<MemberValuePair> values = this.values(annotation); values.add(pair); }
/** * Build a new member value pair with the specified name and value. */ protected MemberValuePair newMemberValuePair(String name, Expression value) { AST ast = value.getAST(); MemberValuePair pair = ast.newMemberValuePair(); pair.setName(ast.newSimpleName(name)); pair.setValue(value); return pair; }
private static MemberValuePair newKeyValueString(final AST ast, final String key, final String value) { final MemberValuePair pair = ast.newMemberValuePair(); pair.setName(ast.newSimpleName(key)); final StringLiteral topicLiteral = ast.newStringLiteral(); topicLiteral.setLiteralValue(value); pair.setValue(topicLiteral); return pair; }
final ASTNode internalGetSetChildProperty(ChildPropertyDescriptor property, boolean get, ASTNode child) { if (property == NAME_PROPERTY) { if (get) { return getName(); } else { setName((SimpleName) child); return null; } } if (property == VALUE_PROPERTY) { if (get) { return getValue(); } else { setValue((Expression) child); return null; } } // allow default implementation to flag the error return super.internalGetSetChildProperty(property, get, child); }
final ASTNode internalGetSetChildProperty(ChildPropertyDescriptor property, boolean get, ASTNode child) { if (property == NAME_PROPERTY) { if (get) { return getName(); } else { setName((SimpleName) child); return null; } } if (property == VALUE_PROPERTY) { if (get) { return getValue(); } else { setValue((Expression) child); return null; } } // allow default implementation to flag the error return super.internalGetSetChildProperty(property, get, child); }
/** * When there is only a single element in an array initializer, convert the * expression to be just the single element; e.g. * <pre> * @Foo(xxx={"abc"}) => @Foo(xxx="abc") * or * @Foo({"abc"}) => @Foo("abc") * </pre> */ private void convertArrayToLastRemainingExpression(Annotation outer, Expression lastValue) { lastValue = (Expression) ASTNode.copySubtree(lastValue.getAST(), lastValue); if (outer.isNormalAnnotation()) { this.memberValuePair((NormalAnnotation) outer).setValue(lastValue); } else if (outer.isSingleMemberAnnotation()) { ((SingleMemberAnnotation) outer).setValue(lastValue); } else { throw new IllegalArgumentException("unexpected annotation type: " + outer); } }
@SuppressWarnings("unchecked") @Override public void createdEnumLiteral(final String literal, final EnumConstantDeclaration enumConstantDeclaration) { final AST ast = enumConstantDeclaration.getAST(); final NormalAnnotation an = ast.newNormalAnnotation(); an.setTypeName(ast.newName("com.google.gson.annotations.SerializedName")); final MemberValuePair mvp = ast.newMemberValuePair(); mvp.setName(ast.newSimpleName("value")); mvp.setValue(JDTHelper.newStringLiteral(ast, literal)); an.values().add(mvp); enumConstantDeclaration.modifiers().add(an); } }
private static MemberValuePair newKeyValueClass(final AST ast, final String key, final String typeName) { final MemberValuePair pair = ast.newMemberValuePair(); pair.setName(ast.newSimpleName(key)); final TypeLiteral type = ast.newTypeLiteral(); type.setType(ast.newSimpleType(ast.newName(typeName))); pair.setValue(type); return pair; }
@SuppressWarnings("unchecked") public static String addXmlRootAnnotation(final String source, final String name) { final CompilationUnit unit = JavaSourceUtils.getCompilationUnit(source); final AST ast = unit.getAST(); final TypeDeclaration classType = (TypeDeclaration) unit.types().get(0); final NormalAnnotation xmlRootAnnotation = ast.newNormalAnnotation(); xmlRootAnnotation.setTypeName(ast.newName(XmlRootElement.class.getSimpleName())); // name final MemberValuePair generatedMemberValue = ast.newMemberValuePair(); generatedMemberValue.setName(ast.newSimpleName("name")); final StringLiteral internalNameLiteral = ast.newStringLiteral(); internalNameLiteral.setLiteralValue(name); generatedMemberValue.setValue(internalNameLiteral); xmlRootAnnotation.values().add(generatedMemberValue); JavaSourceUtils.addAnnotation(classType, xmlRootAnnotation); JavaSourceUtils.addImport(unit, XmlRootElement.class.getName()); return JavaSourceUtils.rewrite(unit, ast); }
@SuppressWarnings("unchecked") public static String addXmlRootAnnotation(final String source, final String name) { final CompilationUnit unit = JavaSourceUtils.getCompilationUnit(source); final AST ast = unit.getAST(); final TypeDeclaration classType = (TypeDeclaration) unit.types().get(0); final NormalAnnotation xmlRootAnnotation = ast.newNormalAnnotation(); xmlRootAnnotation.setTypeName(ast.newName(XmlRootElement.class.getSimpleName())); // name final MemberValuePair generatedMemberValue = ast.newMemberValuePair(); generatedMemberValue.setName(ast.newSimpleName("name")); final StringLiteral internalNameLiteral = ast.newStringLiteral(); internalNameLiteral.setLiteralValue(name); generatedMemberValue.setValue(internalNameLiteral); xmlRootAnnotation.values().add(generatedMemberValue); JavaSourceUtils.addAnnotation(classType, xmlRootAnnotation); JavaSourceUtils.addImport(unit, XmlRootElement.class.getName()); return JavaSourceUtils.rewrite(unit, ast); }
ASTNode clone0(AST target) { MemberValuePair result = new MemberValuePair(target); result.setSourceRange(getStartPosition(), getLength()); result.setName((SimpleName) ASTNode.copySubtree(target, getName())); result.setValue((Expression) ASTNode.copySubtree(target, getValue())); return result; }
@Override ASTNode clone0(AST target) { MemberValuePair result = new MemberValuePair(target); result.setSourceRange(getStartPosition(), getLength()); result.setName((SimpleName) ASTNode.copySubtree(target, getName())); result.setValue((Expression) ASTNode.copySubtree(target, getValue())); return result; }
ASTNode clone0(AST target) { MemberValuePair result = new MemberValuePair(target); result.setSourceRange(getStartPosition(), getLength()); result.setName((SimpleName) ASTNode.copySubtree(target, getName())); result.setValue((Expression) ASTNode.copySubtree(target, getValue())); return result; }
ASTNode clone0(AST target) { MemberValuePair result = new MemberValuePair(target); result.setSourceRange(getStartPosition(), getLength()); result.setName((SimpleName) ASTNode.copySubtree(target, getName())); result.setValue((Expression) ASTNode.copySubtree(target, getValue())); return result; }
ASTNode clone0(AST target) { MemberValuePair result = new MemberValuePair(target); result.setSourceRange(getStartPosition(), getLength()); result.setName((SimpleName) ASTNode.copySubtree(target, getName())); result.setValue((Expression) ASTNode.copySubtree(target, getValue())); return result; }
ASTNode clone0(AST target) { MemberValuePair result = new MemberValuePair(target); result.setSourceRange(getStartPosition(), getLength()); result.setName((SimpleName) ASTNode.copySubtree(target, getName())); result.setValue((Expression) ASTNode.copySubtree(target, getValue())); return result; }