Example usage for org.eclipse.jdt.core.dom TypeDeclaration MODIFIERS2_PROPERTY

List of usage examples for org.eclipse.jdt.core.dom TypeDeclaration MODIFIERS2_PROPERTY

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.dom TypeDeclaration MODIFIERS2_PROPERTY.

Prototype

ChildListPropertyDescriptor MODIFIERS2_PROPERTY

To view the source code for org.eclipse.jdt.core.dom TypeDeclaration MODIFIERS2_PROPERTY.

Click Source Link

Document

The "modifiers" structural property of this node type (element type: IExtendedModifier ) (added in JLS3 API).

Usage

From source file:ch.acanda.eclipse.pmd.java.resolution.design.UseUtilityClassQuickFix.java

License:Open Source License

private void addFinalIfNecessary(final TypeDeclaration typeDeclaration, final ASTRewrite rewrite) {
    @SuppressWarnings("unchecked")
    final List<IExtendedModifier> modifiers = typeDeclaration.modifiers();
    if (!Iterables.any(modifiers, isFinal())) {
        final ListRewrite modifierRewrite = rewrite.getListRewrite(typeDeclaration,
                TypeDeclaration.MODIFIERS2_PROPERTY);
        final Modifier modifier = (Modifier) typeDeclaration.getAST().createInstance(Modifier.class);
        modifier.setKeyword(ModifierKeyword.FINAL_KEYWORD);
        modifierRewrite.insertLast(modifier, null);
    }//w  ww  .  j av a2 s  .c  om
}

From source file:de.ovgu.cide.language.jdt.SimplePrintVisitor.java

License:Open Source License

public boolean visit(IASTNode node) {
    if (node instanceof ASTStringNode) {
        printToken(((ASTStringNode) node).getValue());
        return false;
    }/*from w  ww .j a va  2 s  .c o  m*/
    if (node instanceof ASTTextNode) {
        printToken(((ASTTextNode) node).getValue());
        return false;
    }
    if (node instanceof UnifiedASTNode) {
        UnifiedASTNode unode = (UnifiedASTNode) node;

        if (unode.getEclipseASTNodeClass().equals("AnnotationTypeDeclaration")) {

            accept(node, AnnotationTypeDeclaration.JAVADOC_PROPERTY.getId());

        }

        if (unode.getEclipseASTNodeClass().equals(CompilationUnit.class.getSimpleName())) {
            accept(unode, CompilationUnit.PACKAGE_PROPERTY.getId());
            accept(unode, CompilationUnit.IMPORTS_PROPERTY.getId());
            accept(unode, CompilationUnit.TYPES_PROPERTY.getId());
        }

        if (unode.getEclipseASTNodeClass().equals(TypeDeclaration.class.getSimpleName())) {

            accept(node, TypeDeclaration.JAVADOC_PROPERTY.getId());
            accept(node, TypeDeclaration.MODIFIERS2_PROPERTY.getId());
            accept(node, TypeDeclaration.INTERFACE_PROPERTY.getId());
            accept(node, TypeDeclaration.NAME_PROPERTY.getId());
            accept(node, TypeDeclaration.TYPE_PARAMETERS_PROPERTY.getId(), "<", ",", ">", true);
            //            this.buffer.append(" ");//$NON-NLS-1$

            accept(node, TypeDeclaration.SUPERCLASS_TYPE_PROPERTY.getId(), "extends", "", "", false);
            accept(node, TypeDeclaration.SUPER_INTERFACE_TYPES_PROPERTY.getId(), "implements", ",", "", false);
            printToken("{");
            hintNewLine();
            hintIncIndent();

            accept(node, TypeDeclaration.BODY_DECLARATIONS_PROPERTY.getId());

            hintDecIndent();
            printToken("}");
            hintNewLine();
        }

        printToken(unode.getEclipseASTNodeClass());
    }
    return false;
}

From source file:org.eclipse.objectteams.otdt.internal.ui.text.correction.ChangeModifierProposalSubProcessor.java

License:Open Source License

static ASTRewriteCorrectionProposal getMakeTypeAbstractProposal(ICompilationUnit cu,
        TypeDeclaration typeDeclaration, int relevance) {
    AST ast = typeDeclaration.getAST();/*from www.j a v  a2s .c o m*/
    ASTRewrite rewrite = ASTRewrite.create(ast);
    Modifier newModifier = ast.newModifier(Modifier.ModifierKeyword.ABSTRACT_KEYWORD);
    ChildListPropertyDescriptor modifiersProperty = typeDeclaration instanceof RoleTypeDeclaration
            ? RoleTypeDeclaration.MODIFIERS2_PROPERTY
            : TypeDeclaration.MODIFIERS2_PROPERTY;
    ListRewrite listRewrite = rewrite.getListRewrite(typeDeclaration, modifiersProperty);
    if (typeDeclaration.isTeam())
        listRewrite.insertAt(newModifier, findTeamModifierIndex(typeDeclaration), null);
    else
        listRewrite.insertLast(newModifier, null);

    String label = Messages.format(CorrectionMessages.OTQuickfix_addabstract_description,
            typeDeclaration.getName().getIdentifier());
    Image image = JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE);
    LinkedCorrectionProposal proposal = new LinkedCorrectionProposal(label, cu, rewrite, relevance, image);
    proposal.addLinkedPosition(rewrite.track(newModifier), true, "modifier"); //$NON-NLS-1$
    return proposal;
}

From source file:org.gw4e.eclipse.facade.JDTManager.java

License:Open Source License

/**
 * @param cu//  ww w.  j  a v a 2 s  . c  o m
 * @param annotationName
 * @return
 * @throws JavaModelException
 */
public static AnnotationParsing resolveAnnotation(ICompilationUnit cu, Class inputClass,
        final String attribut) {

    CompilationUnit ast = parse(cu);
    AnnotationParsing ret = new AnnotationParsing();
    String annotationName = inputClass.getName();
    ast.accept(new ASTVisitor() {
        public boolean visit(MemberValuePair node) {
            String name = node.getName().getFullyQualifiedName();
            if (attribut.equals(name) && node.getParent() != null
                    && node.getParent() instanceof NormalAnnotation) {
                IAnnotationBinding annoBinding = ((NormalAnnotation) node.getParent())
                        .resolveAnnotationBinding();
                String qname = annoBinding.getAnnotationType().getQualifiedName();
                if (inputClass.getName().equals(qname)) {
                    int start = node.getStartPosition();
                    int end = start + node.getLength();
                    int lineNumber = ast.getLineNumber(start);
                    Location location = new Location(lineNumber, start, end);
                    ret.setLocation(location);
                }
            }
            return true;
        }

        public final boolean visit(final TypeDeclaration node) {
            List<?> modifiers = (List<?>) node.getStructuralProperty(TypeDeclaration.MODIFIERS2_PROPERTY);
            for (Object modifier : modifiers) {
                if (modifier instanceof org.eclipse.jdt.core.dom.Annotation) {
                    IAnnotationBinding annotationBinding = ((org.eclipse.jdt.core.dom.Annotation) modifier)
                            .resolveAnnotationBinding();

                    if (annotationBinding != null) {
                        final String qualifiedName = annotationBinding.getAnnotationType().getQualifiedName();
                        if (annotationName.equalsIgnoreCase(qualifiedName))
                            ret.add(annotationBinding);

                    }
                }
            }
            return true;
        }
    });
    return ret;
}

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;
    }/*from w ww.  j ava2s.  c  o  m*/
    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.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.TypeDeclaration)
 *//*from  www  . j a  v  a  2 s .  c om*/
@Override
public boolean visit(TypeDeclaration node) {
    visitExtendedModifiers((List<?>) node.getStructuralProperty(TypeDeclaration.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  ww . j  av a  2 s . c om
 * 
 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom. TypeDeclaration)
 */
@Override
public final boolean visit(final TypeDeclaration node) {
    if (memberType == IJavaElement.TYPE && node.getName().getFullyQualifiedName().equals(memberName)
            && matchesLocation(node)) {
        visitExtendedModifiers((List<?>) node.getStructuralProperty(TypeDeclaration.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;
    }//www.j a  v  a 2  s .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.ClassEditor.java

License:Apache License

public ClassEditor(AbstractUnitManager manager, TypeDeclaration classDecl, boolean isNew) {
    super(manager);
    this.classDecl = classDecl;
    this.modifiers = new ModifierEditor(manager, classDecl, TypeDeclaration.MODIFIERS2_PROPERTY, isNew);
    this.memberEditor = new ClassMemberEditor(getManager(), classDecl);
}

From source file:org.springframework.ide.eclipse.quickfix.jdt.proposals.AddControllerCompletionProposal.java

License:Open Source License

@Override
protected ASTRewrite getRewrite() throws CoreException {
    CompilationUnit astRoot = ASTResolving.findParentCompilationUnit(typeDecl);
    ASTRewrite astRewrite = ASTRewrite.create(astRoot.getAST());

    AST ast = astRewrite.getAST();//from  www. j av a2  s  .c o m

    String importName = Controller.class.getCanonicalName();
    if (!ProposalCalculatorUtil.containsImport(getCompilationUnit(), importName)) {
        ImportRewrite importRewrite = createImportRewrite(astRoot);
        importRewrite.addImport(importName);
    }

    MarkerAnnotation annotation = ast.newMarkerAnnotation();
    annotation.setTypeName(ast.newSimpleName("Controller"));

    astRewrite.getListRewrite(typeDecl, TypeDeclaration.MODIFIERS2_PROPERTY).insertFirst(annotation, null);

    return astRewrite;
}