List of usage examples for org.eclipse.jdt.core.dom FieldDeclaration MODIFIERS2_PROPERTY
ChildListPropertyDescriptor MODIFIERS2_PROPERTY
To view the source code for org.eclipse.jdt.core.dom FieldDeclaration MODIFIERS2_PROPERTY.
Click Source Link
From source file:org.autorefactor.refactoring.rules.EnforceStaticFinalLoggerRefactoring.java
License:Open Source License
private boolean markFinalStatic(FieldDeclaration node) { boolean result = VISIT_SUBTREE; boolean hasFinal = false; boolean hasAccess = false; boolean hasStatic = false; List<IExtendedModifier> modifiers = modifiers(node); int size = modifiers.size(); List<Modifier> modifiersOnly = getModifiersOnly(modifiers); for (Modifier modifier : modifiersOnly) { if (modifier.isFinal()) { hasFinal = true;/*from w w w . ja v a 2s . c o m*/ } else if (modifier.isStatic()) { hasStatic = true; } else if (modifier.isPrivate() || modifier.isProtected()) { hasAccess = true; } else if (modifier.isPublic()) { ctx.getRefactorings().remove(modifier); size--; result = DO_NOT_VISIT_SUBTREE; } } ASTBuilder builder = ctx.getASTBuilder(); if (!hasAccess) { // insert at first ctx.getRefactorings().insertAt(node, FieldDeclaration.MODIFIERS2_PROPERTY, builder.private0(), 0); size++; result = DO_NOT_VISIT_SUBTREE; } if (!hasStatic) { ctx.getRefactorings().insertAt(node, FieldDeclaration.MODIFIERS2_PROPERTY, builder.static0(), size); size++; result = DO_NOT_VISIT_SUBTREE; } if (!hasFinal) { ctx.getRefactorings().insertAt(node, FieldDeclaration.MODIFIERS2_PROPERTY, builder.final0(), size); size++; result = DO_NOT_VISIT_SUBTREE; } return result; }
From source file:org.hibernate.eclipse.jdt.ui.internal.jpa.process.ProcessEntityInfo.java
License:Open Source License
@SuppressWarnings("unchecked") public boolean visit(TypeDeclaration node) { ITypeBinding typeBinding = node.resolveBinding(); String nodeName = typeBinding == null ? null : typeBinding.getBinaryName(); if (nodeName == null) { return false; }/* ww w . j a va 2s . c om*/ entityInfo = entityInfos.getEntityInfo(nodeName); if (entityInfo == null) { return false; } if (entityInfo.isAddMappedSuperclassFlag()) { MarkerAnnotation matd = rewriter.getAST().newMarkerAnnotation(); matd.setTypeName(rewriter.getAST().newSimpleName(JPAConst.ANNOTATION_MAPPEDSUPERCLASS)); ListRewrite lrw = rewriter.getListRewrite(node, TypeDeclaration.MODIFIERS2_PROPERTY); lrw.insertFirst(matd, null); } if (entityInfo.isAddEntityFlag()) { MarkerAnnotation matd = rewriter.getAST().newMarkerAnnotation(); matd.setTypeName(rewriter.getAST().newSimpleName(JPAConst.ANNOTATION_ENTITY)); ListRewrite lrw = rewriter.getListRewrite(node, TypeDeclaration.MODIFIERS2_PROPERTY); lrw.insertFirst(matd, null); } /** / if (!entityInfo.isImplicitConstructorFlag() && !entityInfo.isDefaultConstructorFlag() && entityInfo.isAddSerializableInterfaceFlag()) { // add serializable interface SimpleName sn = null; //if (!entityInfo.isAddSerializableInterfaceImportFlag()) { sn = rewriter.getAST().newSimpleName(JPAConst.ANNOTATION_SERIALIZABLE); //} //else { // sn = rewriter.getAST().newSimpleName(JPAConst.IMPORT_SERIALIZABLE); //} SimpleType st = rewriter.getAST().newSimpleType(sn); ListRewrite lrw = rewriter.getListRewrite(node, TypeDeclaration.SUPER_INTERFACE_TYPES_PROPERTY); lrw.insertFirst(st, null); // add "private static final long serialVersionUID = 1L;" // ... } /**/ if (!entityInfo.isImplicitConstructorFlag() && !entityInfo.isDefaultConstructorFlag() && entityInfo.isAddSerializableInterfaceFlag()) { MethodDeclaration md = rewriter.getAST().newMethodDeclaration(); md.setConstructor(true); Modifier modifier = rewriter.getAST().newModifier(Modifier.ModifierKeyword.PROTECTED_KEYWORD); md.modifiers().add(modifier); Block body = rewriter.getAST().newBlock(); md.setBody(body); SimpleName sn = rewriter.getAST().newSimpleName(entityInfo.getName()); md.setName(sn); ListRewrite lrw = rewriter.getListRewrite(node, TypeDeclaration.BODY_DECLARATIONS_PROPERTY); List<?> list = lrw.getOriginalList(); MethodDeclaration insertBeforeNode = null; Iterator<?> it = list.iterator(); while (it.hasNext()) { Object obj = it.next(); if (obj instanceof MethodDeclaration) { insertBeforeNode = (MethodDeclaration) obj; break; } } if (insertBeforeNode == null) { lrw.insertLast(md, null); } else { lrw.insertBefore(md, insertBeforeNode, null); } } if (enableOptLock && entityInfo.isAddVersionFlag() && !entityInfo.hasVersionAnnotation()) { // add property "version", add getter/setter getVersion/setVersion, // add annotation for the property or for the getter // final String version = "version"; //$NON-NLS-1$ final String versionType = "Integer"; //$NON-NLS-1$ // VariableDeclarationFragment vdFragment = rewriter.getAST().newVariableDeclarationFragment(); SimpleName variableName = rewriter.getAST().newSimpleName(version); vdFragment.setName(variableName); FieldDeclaration fieldVersion = rewriter.getAST().newFieldDeclaration(vdFragment); Modifier modifier = rewriter.getAST().newModifier(Modifier.ModifierKeyword.PROTECTED_KEYWORD); fieldVersion.modifiers().add(modifier); Name typeName = rewriter.getAST().newName(versionType); SimpleType type = rewriter.getAST().newSimpleType(typeName); fieldVersion.setType(type); // MethodDeclaration mdGetter = rewriter.getAST().newMethodDeclaration(); modifier = rewriter.getAST().newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD); mdGetter.modifiers().add(modifier); Block body = rewriter.getAST().newBlock(); ReturnStatement returnVersion = rewriter.getAST().newReturnStatement(); variableName = rewriter.getAST().newSimpleName(version); returnVersion.setExpression(variableName); body.statements().add(returnVersion); mdGetter.setBody(body); SimpleName sn = rewriter.getAST().newSimpleName("getVersion"); //$NON-NLS-1$ mdGetter.setName(sn); typeName = rewriter.getAST().newName(versionType); type = rewriter.getAST().newSimpleType(typeName); mdGetter.setReturnType2(type); // MethodDeclaration mdSetter = rewriter.getAST().newMethodDeclaration(); modifier = rewriter.getAST().newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD); mdSetter.modifiers().add(modifier); body = rewriter.getAST().newBlock(); Assignment assignment = rewriter.getAST().newAssignment(); FieldAccess fieldAccess = rewriter.getAST().newFieldAccess(); ThisExpression thisExpression = rewriter.getAST().newThisExpression(); fieldAccess.setExpression(thisExpression); variableName = rewriter.getAST().newSimpleName(version); fieldAccess.setName(variableName); assignment.setLeftHandSide(fieldAccess); variableName = rewriter.getAST().newSimpleName(version); assignment.setRightHandSide(variableName); ExpressionStatement expressionStatement = rewriter.getAST().newExpressionStatement(assignment); body.statements().add(expressionStatement); mdSetter.setBody(body); sn = rewriter.getAST().newSimpleName("setVersion"); //$NON-NLS-1$ mdSetter.setName(sn); SingleVariableDeclaration svd = rewriter.getAST().newSingleVariableDeclaration(); variableName = rewriter.getAST().newSimpleName(version); svd.setName(variableName); typeName = rewriter.getAST().newName(versionType); type = rewriter.getAST().newSimpleType(typeName); svd.setType(type); mdSetter.parameters().add(svd); // ListRewrite lrw = rewriter.getListRewrite(node, TypeDeclaration.BODY_DECLARATIONS_PROPERTY); if (entityInfo.getVersionFieldGetter() != FieldGetterType.FIELD && entityInfo.getVersionFieldGetter() != FieldGetterType.FIELD_GETTER) { lrw.insertLast(fieldVersion, null); } if (entityInfo.getVersionFieldGetter() != FieldGetterType.GETTER && entityInfo.getVersionFieldGetter() != FieldGetterType.FIELD_GETTER) { lrw.insertLast(mdGetter, null); lrw.insertLast(mdSetter, null); } if (annotationStyle == AnnotStyle.FIELDS) { MarkerAnnotation matd = rewriter.getAST().newMarkerAnnotation(); matd.setTypeName(rewriter.getAST().newSimpleName(JPAConst.ANNOTATION_VERSION)); lrw = rewriter.getListRewrite(fieldVersion, FieldDeclaration.MODIFIERS2_PROPERTY); lrw.insertFirst(matd, null); } else if (annotationStyle == AnnotStyle.GETTERS) { MarkerAnnotation matd = rewriter.getAST().newMarkerAnnotation(); matd.setTypeName(rewriter.getAST().newSimpleName(JPAConst.ANNOTATION_VERSION)); lrw = rewriter.getListRewrite(mdGetter, MethodDeclaration.MODIFIERS2_PROPERTY); lrw.insertFirst(matd, null); } } return true; }
From source file:org.hibernate.eclipse.jdt.ui.internal.jpa.process.ProcessEntityInfo.java
License:Open Source License
@SuppressWarnings("unchecked") public boolean visit(FieldDeclaration node) { if (entityInfo == null) { return false; }/* w w w . j a v a 2 s . com*/ if (annotationStyle != AnnotStyle.FIELDS) { return true; } Type type = node.getType(); if (type == null) { return true; } if (type.isSimpleType() || type.isPrimitiveType()) { if (entityInfo.isAddGeneratedValueFlag()) { String primaryIdName = entityInfo.getPrimaryIdName(); Iterator<VariableDeclarationFragment> itVarNames = node.fragments().iterator(); boolean addGeneratedValueMarker = false; while (itVarNames.hasNext()) { VariableDeclarationFragment var = itVarNames.next(); String name = var.getName().getIdentifier(); if (primaryIdName.equals(name)) { addGeneratedValueMarker = true; break; } } if (addGeneratedValueMarker) { MarkerAnnotation matd = rewriter.getAST().newMarkerAnnotation(); matd.setTypeName(rewriter.getAST().newSimpleName(JPAConst.ANNOTATION_GENERATED_VALUE)); ListRewrite lrw = rewriter.getListRewrite(node, FieldDeclaration.MODIFIERS2_PROPERTY); lrw.insertFirst(matd, null); } } if (entityInfo.isAddPrimaryIdFlag()) { String primaryIdName = entityInfo.getPrimaryIdName(); Iterator<VariableDeclarationFragment> itVarNames = node.fragments().iterator(); boolean addIdMarker = false; while (itVarNames.hasNext()) { VariableDeclarationFragment var = itVarNames.next(); String name = var.getName().getIdentifier(); if (primaryIdName.equals(name)) { addIdMarker = true; break; } } if (addIdMarker) { MarkerAnnotation matd = rewriter.getAST().newMarkerAnnotation(); matd.setTypeName(rewriter.getAST().newSimpleName(JPAConst.ANNOTATION_ID)); ListRewrite lrw = rewriter.getListRewrite(node, FieldDeclaration.MODIFIERS2_PROPERTY); lrw.insertFirst(matd, null); } } if (enableOptLock && entityInfo.isAddVersionFlag() && !entityInfo.hasVersionAnnotation()) { Iterator<VariableDeclarationFragment> itVarNames = node.fragments().iterator(); boolean addVersionMarker = false; while (itVarNames.hasNext()) { VariableDeclarationFragment var = itVarNames.next(); String name = var.getName().getIdentifier(); if ("version".equals(name)) { //$NON-NLS-1$ addVersionMarker = true; break; } } if (addVersionMarker) { MarkerAnnotation matd = rewriter.getAST().newMarkerAnnotation(); matd.setTypeName(rewriter.getAST().newSimpleName(JPAConst.ANNOTATION_VERSION)); ListRewrite lrw = rewriter.getListRewrite(node, FieldDeclaration.MODIFIERS2_PROPERTY); lrw.insertFirst(matd, null); } } } if (type.isSimpleType() && (AllEntitiesProcessor.columnLength != defaultStrLength)) { SimpleType simpleType = (SimpleType) type; String typeName = simpleType.getName().getFullyQualifiedName(); if ("java.lang.String".equals(typeName) || "String".equals(typeName)) { //$NON-NLS-1$ //$NON-NLS-2$ String fieldId = null; Iterator<VariableDeclarationFragment> itVarNames = node.fragments().iterator(); while (itVarNames.hasNext()) { VariableDeclarationFragment var = itVarNames.next(); fieldId = var.getName().getIdentifier(); if (fieldId != null) { break; } } RefColumnInfo rci = entityInfo.getRefColumnInfo(fieldId); if (rci == null || !rci.isExist()) { // if there is no @Column annotation - create new @Column annotation // with user defined default value length NormalAnnotation natd = rewriter.getAST().newNormalAnnotation(); natd.setTypeName(rewriter.getAST().newSimpleName(JPAConst.ANNOTATION_COLUMN)); ListRewrite lrw = rewriter.getListRewrite(node, FieldDeclaration.MODIFIERS2_PROPERTY); lrw.insertFirst(natd, null); MemberValuePair mvp = rewriter.getAST().newMemberValuePair(); mvp.setName(rewriter.getAST().newSimpleName("length")); //$NON-NLS-1$ NumberLiteral nl = rewriter.getAST().newNumberLiteral(String.valueOf(defaultStrLength)); mvp.setValue(nl); natd.values().add(mvp); } } } if (type.isSimpleType() || type.isParameterizedType() || type.isArrayType()) { Iterator<VariableDeclarationFragment> itVarNames = node.fragments().iterator(); String fieldId = ""; //$NON-NLS-1$ RefType refType = RefType.UNDEF; boolean annotated = false; String fullyQualifiedName2 = ""; //$NON-NLS-1$ while (itVarNames.hasNext()) { VariableDeclarationFragment var = itVarNames.next(); String name = var.getName().getIdentifier(); fieldId = name; refType = entityInfo.getFieldIdRelValue(fieldId); annotated = entityInfo.getFieldIdAnnotatedValue(fieldId); fullyQualifiedName2 = entityInfo.getFieldIdFQNameValue(fieldId); if (refType != RefType.UNDEF) { break; } } Set<RefFieldInfo> setRFI = entityInfo.getRefFieldInfoSet(fullyQualifiedName2); if (!annotated && setRFI != null && isSimilarType(type, fullyQualifiedName2)) { RefEntityInfo rei = entityInfo.getFieldIdRefEntityInfo(fieldId); // try to process bidirectional relationships: // nRefType == JPAConst.ONE2ONE - OneToOne - the owning side corresponds // to the side that contains the corresponding foreign key // nRefType == JPAConst.MANY2ONE - ManyToOne - owning side is always the "many" side // nRefType == JPAConst.MANY2MANY - ManyToMany bidirectional relationships // either side may be the owning side if (setRFI.size() > 1 && refType != RefType.MANY2ONE) { if (rei.mappedBy == null || rei.mappedBy == "") { //$NON-NLS-1$ addSimpleMarkerAnnotation(node, JPAConst.getRefType(refType)); } else { // give to the user information about selected mapping addComplexNormalAnnotation(node, JPAConst.getRefType(refType), rei); } } else if (refType == RefType.MANY2ONE || refType == RefType.ENUMERATED || rei.mappedBy == null || rei.mappedBy == "") { //$NON-NLS-1$ addSimpleMarkerAnnotation(node, JPAConst.getRefType(refType)); } else { // in case of bidirectional OneToOne - mark both sides with mappedBy - // user should select the right decision addComplexNormalAnnotation(node, JPAConst.getRefType(refType), rei); } } } return true; }
From source file:org.hibernate.eclipse.jdt.ui.internal.jpa.process.ProcessEntityInfo.java
License:Open Source License
public boolean addSimpleMarkerAnnotation(BodyDeclaration node, String name) { if (name == null || name.length() == 0) { return false; }//from ww w .j a v a 2s . c om MarkerAnnotation matd = rewriter.getAST().newMarkerAnnotation(); matd.setTypeName(rewriter.getAST().newSimpleName(name)); ListRewrite lrw = null; if (node instanceof FieldDeclaration) { lrw = rewriter.getListRewrite(node, FieldDeclaration.MODIFIERS2_PROPERTY); } else if (node instanceof MethodDeclaration) { lrw = rewriter.getListRewrite(node, MethodDeclaration.MODIFIERS2_PROPERTY); } if (lrw != null) { lrw.insertFirst(matd, null); } return true; }
From source file:org.hibernate.eclipse.jdt.ui.internal.jpa.process.ProcessEntityInfo.java
License:Open Source License
@SuppressWarnings("unchecked") public boolean addComplexNormalAnnotation(BodyDeclaration node, String name, RefEntityInfo rei) { if (name == null || name.length() == 0) { return false; }// w w w . ja va 2 s . c o m NormalAnnotation natd = rewriter.getAST().newNormalAnnotation(); MemberValuePair mvp = null; if (rei.mappedBy != null && (rei.owner == OwnerType.YES || rei.owner == OwnerType.UNDEF)) { mvp = rewriter.getAST().newMemberValuePair(); mvp.setName(rewriter.getAST().newSimpleName("mappedBy")); //$NON-NLS-1$ StringLiteral sl = rewriter.getAST().newStringLiteral(); sl.setLiteralValue(rei.mappedBy); mvp.setValue(sl); } natd.setTypeName(rewriter.getAST().newSimpleName(name)); if (mvp != null) { natd.values().add(mvp); } NormalAnnotation natd2 = null; /** / if (rei.owner == OwnerType.NO) { natd2 = rewriter.getAST().newNormalAnnotation(); natd2.setTypeName(rewriter.getAST().newSimpleName(JPAConst.ANNOTATION_JOINCOLUMN)); mvp = null; String fullyQualifiedName2 = rei.fullyQualifiedName; EntityInfo entryInfo2 = entities.get(fullyQualifiedName2); if (entryInfo2 != null) { mvp = rewriter.getAST().newMemberValuePair(); mvp.setName(rewriter.getAST().newSimpleName("name")); //$NON-NLS-1$ StringLiteral sl = rewriter.getAST().newStringLiteral(); sl.setLiteralValue(entryInfo2.getPrimaryIdName()); mvp.setValue(sl); } if (mvp != null) { natd2.values().add(mvp); } } /**/ ListRewrite lrw = null; if (node instanceof FieldDeclaration) { lrw = rewriter.getListRewrite(node, FieldDeclaration.MODIFIERS2_PROPERTY); } else if (node instanceof MethodDeclaration) { lrw = rewriter.getListRewrite(node, MethodDeclaration.MODIFIERS2_PROPERTY); } if (lrw != null) { if (natd2 != null) { lrw.insertFirst(natd2, null); } lrw.insertFirst(natd, null); } return true; }
From source file:org.jboss.tools.ws.jaxrs.core.jdt.JavaAnnotationLocator.java
License:Open Source License
/** * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.FieldDeclaration) *//*w w w . j a v a 2 s . co m*/ @Override public boolean visit(FieldDeclaration node) { visitExtendedModifiers((List<?>) node.getStructuralProperty(FieldDeclaration.MODIFIERS2_PROPERTY)); // no need to visit furthermore return false; }
From source file:org.jboss.tools.ws.jaxrs.core.jdt.JavaAnnotationsVisitor.java
License:Open Source License
/** * {@inheritDoc}/*from w w w . j a v a 2s. co m*/ * * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom. MethodDeclaration) */ @Override public final boolean visit(final FieldDeclaration node) { if (memberType == IJavaElement.FIELD) { VariableDeclarationFragment fragment = (VariableDeclarationFragment) (node.fragments().get(0)); if (fragment.getName().toString().equals(memberName) && matchesLocation(node)) { visitExtendedModifiers((List<?>) node.getStructuralProperty(FieldDeclaration.MODIFIERS2_PROPERTY)); return false; } } return true; }
From source file:org.jboss.tools.ws.jaxrs.core.jdt.JdtUtils.java
License:Open Source License
private static List<?> getNodeModifiers(final ASTNode node) { if (node == null) { return null; }//from w w w. ja va 2s .c o m switch (node.getNodeType()) { case ASTNode.TYPE_DECLARATION: return (List<?>) node.getStructuralProperty(TypeDeclaration.MODIFIERS2_PROPERTY); case ASTNode.ANNOTATION_TYPE_DECLARATION: return (List<?>) node.getStructuralProperty(AnnotationTypeDeclaration.MODIFIERS2_PROPERTY); case ASTNode.METHOD_DECLARATION: return (List<?>) node.getStructuralProperty(MethodDeclaration.MODIFIERS2_PROPERTY); case ASTNode.FIELD_DECLARATION: return (List<?>) node.getStructuralProperty(FieldDeclaration.MODIFIERS2_PROPERTY); default: return null; } }
From source file:org.moe.natjgen.FieldEditor.java
License:Apache License
public FieldEditor(AbstractUnitManager manager, FieldDeclaration fieldDecl, boolean isNew) { super(manager); this.fieldDecl = fieldDecl; this.modifiers = new ModifierEditor(manager, fieldDecl, FieldDeclaration.MODIFIERS2_PROPERTY, isNew); }
From source file:org.springframework.ide.eclipse.quickfix.jdt.proposals.AddAutowireCompletionProposal.java
License:Open Source License
private Annotation createAnnotation(String qualifiedName, String simpleName, CompilationUnit astRoot, AST ast, ASTRewrite astRewrite, ImportRewrite importRewrite, boolean memberValuePair, ASTNode precedingNode) { if (!ProposalCalculatorUtil.containsImport(getCompilationUnit(), qualifiedName)) { importRewrite.addImport(qualifiedName); }/*from w w w.ja v a 2 s .c o m*/ Annotation annotation; if (memberValuePair) { annotation = ast.newNormalAnnotation(); } else { annotation = ast.newMarkerAnnotation(); } annotation.setTypeName(ast.newSimpleName(simpleName)); ChildListPropertyDescriptor property; if (decl instanceof FieldDeclaration) { property = FieldDeclaration.MODIFIERS2_PROPERTY; } else { property = MethodDeclaration.MODIFIERS2_PROPERTY; } if (precedingNode != null) { astRewrite.getListRewrite(decl, property).insertBefore(annotation, precedingNode, null); } else { astRewrite.getListRewrite(decl, property).insertFirst(annotation, null); } return annotation; }