Example usage for org.eclipse.jdt.core Flags isTransient

List of usage examples for org.eclipse.jdt.core Flags isTransient

Introduction

In this page you can find the example usage for org.eclipse.jdt.core Flags isTransient.

Prototype

public static boolean isTransient(int flags) 

Source Link

Document

Returns whether the given integer includes the transient modifier.

Usage

From source file:at.bestsolution.fxide.jdt.corext.util.JdtFlags.java

License:Open Source License

public static boolean isTransient(IMember member) throws JavaModelException {
    return Flags.isTransient(member.getFlags());
}

From source file:com.curlap.orb.plugin.generator.impl.CurlDataClassGeneratorImpl.java

License:Open Source License

protected List<Field> getAllSuperclassFields(Set<String> importPackages, String superclass)
        throws JavaModelException {
    List<Field> fields = new ArrayList<Field>();
    TypeNameMatch typeNameMatch = new JavaElementSearcher(iCompilationUnit).searchClassInfo(superclass);
    if (typeNameMatch == null)
        return fields;
    IType iType = typeNameMatch.getType();
    for (IField iField : iType.getFields()) {
        // skip static field
        if (Flags.isStatic(iField.getFlags()))
            continue;
        String name = iField.getElementName();
        Field field = new Field();
        field.setName(name);//from w  w  w .  j av  a2  s .c  om
        field.setType(CurlSpecUtil.marshalCurlTypeWithSignature(
                addImportedPackageIfNecessaryWithSignature(importPackages, iField.getTypeSignature())));
        field.setDefaultValue(CurlSpecUtil.getDefaultValue(field.getType()));
        field.setIsTransient(Flags.isTransient(iField.getFlags()));
        String modifier = Flags.toString(iField.getFlags());
        if (modifier.length() == 0)
            modifier = "package";
        field.setGetterModifier(modifier + "-get");
        field.setSetterModifier(modifier + "-set");
        field.setComment("");
        fields.add(field);
    }
    // more superclasses
    if (iType.getSuperclassName() != null)
        fields.addAll(getAllSuperclassFields(importPackages, iType.getSuperclassName()));
    return fields;
}

From source file:com.curlap.orb.plugin.generator.impl.CurlDataClassGeneratorImpl.java

License:Open Source License

@Override
public VelocityContext generateClass() throws CurlGenerateException {
    ICompilationUnit source = iCompilationUnit;
    try {/*from w  w  w .j  av a 2 s . c  om*/
        Set<String> importPackages = new HashSet<String>();
        List<Field> fields = new ArrayList<Field>();
        List<Field> superClassFields = null;

        String packageName = null;
        String className = null;
        String superClassName = null;
        JavadocContent classJavadoc = null;

        for (IType iType : source.getAllTypes()) {
            // package
            IPackageFragment iPackageFragment = iType.getPackageFragment();
            packageName = (iPackageFragment != null ? iPackageFragment.getElementName().toUpperCase() : "");

            // class name
            className = iType.getElementName();
            if (className == null)
                throw new CurlGenerateException("There is no class name.");

            // javadoc
            classJavadoc = JavaElementAnalyzer.getJavaDoc(iType);

            // superclass
            if (iType.getSuperclassName() != null) {
                superClassName = addImportedPackageIfNecessary(importPackages, iType.getSuperclassName());
                // fields of superclass
                superClassFields = getAllSuperclassFields(importPackages, superClassName);
            }

            // fields
            for (IField iField : iType.getFields()) {
                // skip static field
                if (Flags.isStatic(iField.getFlags()))
                    continue;
                String name = iField.getElementName();
                Field field = new Field();
                field.setName(name);
                field.setType(CurlSpecUtil.marshalCurlTypeWithSignature(
                        addImportedPackageIfNecessaryWithSignature(importPackages, iField.getTypeSignature())));
                field.setDefaultValue(CurlSpecUtil.getDefaultValue(field.getType()));
                field.setIsTransient(Flags.isTransient(iField.getFlags()));
                String modifier = CurlSpecUtil.getCurlModifier(Flags.toString(iField.getFlags()));
                field.setGetterModifier(modifier + "-get");
                field.setSetterModifier(modifier + "-set");
                field.setJavadocContent(JavaElementAnalyzer.getJavaDoc(iField));
                field.setComment((CurlSpecUtil.isCurlGenericsType(field.getType()) ? "|| "
                        + CurlSpecUtil.marshalCurlTypeWithSignature(addImportedPackageIfNecessaryWithSignature(
                                importPackages, iField.getTypeSignature()), true, true)
                        : ""));
                fields.add(field);
            }

            // methods 
            // NOTE: Extract getter and setter. The other methods is skipped.
            for (IMethod method : iType.getMethods()) {
                // skip static method
                if (Flags.isStatic(method.getFlags()))
                    continue;
                String name = method.getElementName();
                // getter into field
                if (CurlSpecUtil.isGetter(name)) {
                    if (method.getParameterNames().length == 0) {
                        String returnType = CurlSpecUtil.marshalCurlTypeWithSignature(
                                addImportedPackageIfNecessaryWithSignature(importPackages,
                                        method.getReturnType()));
                        String modifier = CurlSpecUtil.getCurlModifier(Flags.toString(method.getFlags()));
                        for (Field field : fields) {
                            String fieldName = CurlSpecUtil.getGetterOrSetterName(name);
                            if (fieldName.equals(field.getName()) && returnType.equals(field.getType()))
                                field.setGetterModifier(modifier + "-get");
                        }
                    }
                }
                // setter into field
                if (CurlSpecUtil.isSetter(name)) {
                    if (CurlSpecUtil.marshalCurlTypeWithSignature(method.getReturnType()).equals("void")
                            && method.getParameterNames().length == 1) {
                        String argumentType = CurlSpecUtil.marshalCurlTypeWithSignature(
                                addImportedPackageIfNecessaryWithSignature(importPackages,
                                        method.getParameterTypes()[0]));
                        String modifier = CurlSpecUtil.getCurlModifier(Flags.toString(method.getFlags()));
                        for (Field field : fields) {
                            String fieldName = CurlSpecUtil.getGetterOrSetterName(name);
                            if (fieldName.equals(field.getName()) && argumentType.equals(field.getType()))
                                field.setSetterModifier(modifier + "-set");
                        }
                    }
                }
            }
        }

        // merge to velocity.
        VelocityContext context = new VelocityContext();
        context.put("package_name", packageName);
        context.put("import_packages", importPackages);
        context.put("class_name", className);
        context.put("classJavadoc", classJavadoc);
        if (superClassName != null) {
            context.put("has_superclass", true);
            context.put("superclass_name", superClassName);
            context.put("superclass_fields", superClassFields);
        } else {
            context.put("has_superclass", false);
        }
        context.put("fields", fields);
        return context;
    } catch (JavaModelException e) {
        throw new CurlGenerateException(e);
    }
}

From source file:com.redhat.ceylon.eclipse.code.explorer.JavaElementImageProvider.java

License:Open Source License

private int computeJavaAdornmentFlags(IJavaElement element, int renderFlags) {
    int flags = 0;
    if (showOverlayIcons(renderFlags)) {
        try {/*from  www.  j a  v  a  2  s .c o  m*/
            if (element instanceof IMember) {
                IMember member = (IMember) element;

                int modifiers = member.getFlags();
                if (Flags.isAbstract(modifiers) && confirmAbstract(member))
                    flags |= JavaElementImageDescriptor.ABSTRACT;
                if (Flags.isFinal(modifiers) || isInterfaceOrAnnotationField(member)
                        || isEnumConstant(member, modifiers))
                    flags |= JavaElementImageDescriptor.FINAL;
                if (Flags.isStatic(modifiers) || isInterfaceOrAnnotationFieldOrType(member)
                        || isEnumConstant(member, modifiers))
                    flags |= JavaElementImageDescriptor.STATIC;

                if (Flags.isDeprecated(modifiers))
                    flags |= JavaElementImageDescriptor.DEPRECATED;

                int elementType = element.getElementType();
                if (elementType == IJavaElement.METHOD) {
                    if (((IMethod) element).isConstructor())
                        flags |= JavaElementImageDescriptor.CONSTRUCTOR;
                    if (Flags.isSynchronized(modifiers)) // collides with 'super' flag
                        flags |= JavaElementImageDescriptor.SYNCHRONIZED;
                    if (Flags.isNative(modifiers))
                        flags |= JavaElementImageDescriptor.NATIVE;
                }

                if (member.getElementType() == IJavaElement.TYPE) {
                    if (JavaModelUtil.hasMainMethod((IType) member)) {
                        flags |= JavaElementImageDescriptor.RUNNABLE;
                    }
                }

                if (member.getElementType() == IJavaElement.FIELD) {
                    if (Flags.isVolatile(modifiers))
                        flags |= JavaElementImageDescriptor.VOLATILE;
                    if (Flags.isTransient(modifiers))
                        flags |= JavaElementImageDescriptor.TRANSIENT;
                }
            } else if (element instanceof ILocalVariable
                    && Flags.isFinal(((ILocalVariable) element).getFlags())) {
                flags |= JavaElementImageDescriptor.FINAL;
            }
        } catch (JavaModelException e) {
            // do nothing. Can't compute runnable adornment or get flags
        }
    }
    return flags;
}

From source file:fr.ifpen.emptooling.reverse.JavaToEcore.java

License:Open Source License

/**
 * Process (resolve types of all fields) for the given {@link IType}.
 * // www  .j a va 2s.co m
 * @param iType the given {@link IType} (a java Class).
 * @param clazz the associated {@link EClass}.
 * @throws JavaModelException
 */
protected void processFields(IType iType, EClass clazz) throws JavaModelException {
    IField[] fields = iType.getFields();

    for (IField iField : fields) {
        EStructuralFeature feature;
        EClassifier ecoreType = processAttributeType(iField);

        if (isListEReference(iField)) {
            feature = eFactory.createEReference();
            feature.setUpperBound(-1);
            feature.setUnique(false);
            feature.setOrdered(true);
        } else if (isSetEReference(iField)) {
            feature = eFactory.createEReference();
            feature.setUpperBound(-1);
            feature.setUnique(true);
            feature.setOrdered(false);
        } else if (isSortedSetEReference(iField)) {
            feature = eFactory.createEReference();
            feature.setUpperBound(-1);
            feature.setUnique(true);
            feature.setOrdered(true);
        } else if (ecoreType instanceof EClass) {
            feature = eFactory.createEReference();
            feature.setLowerBound(1);
            feature.setUpperBound(1);
            feature.setUnique(true);
        } else if (ecoreType instanceof EEnum) {
            feature = eFactory.createEAttribute();
            feature.setLowerBound(1);
            // replace EEnum type by an EINT type
            ecoreType = EcorePackage.Literals.EINT;

            setEnumAnnotation(iField, feature);

            // feature.setEType(ecoreType);//FP
            // getConstant on non final field return a null string !
            // feature.setDefaultValue(iField.getConstant());//FP
        } else if (ecoreType instanceof EDataType) {
            feature = eFactory.createEAttribute();
            feature.setLowerBound(1);
        } else {
            feature = eFactory.createEAttribute();
            feature.setLowerBound(1);
            System.err.println("Passage anormal pour le reverse !!!!");
        }
        feature.setName(iField.getElementName());
        feature.setEType(ecoreType);

        // check flags for final static fields and transient fields
        int flags = iField.getFlags();
        if (Flags.isFinal(flags) && Flags.isStatic(flags)) {
            // a constant is not persistent and not changeable
            feature.setTransient(true);
            feature.setChangeable(false);
            // retrieve the value of this constant and set it to default feature value
            try {
                feature.setDefaultValue(iField.getConstant());
            } catch (IllegalStateException e) {
                // Cannot serialize value to object without an EDataType eType
                // nevermind: do nothing more
                System.err.println(e.getMessage() + " for constant " + feature.getName() + " from class "
                        + clazz.getName());
            }
        }
        // transient field or no typed field or set to transient
        if (Flags.isTransient(flags) || feature.getEType() == null) {
            feature.setTransient(true);
        }
        clazz.getEStructuralFeatures().add(feature);

        /* Add generic parameters in case of EMap */
        manageEMapParameters(iField, feature);

        /* Manage annotations but ignore transient fields */
        if (!feature.isTransient()) {
            manageGetterAnnotation(iField, iType, feature);
        }

    }
}

From source file:org.eclim.plugin.jdt.command.src.ClassPrototypeCommand.java

License:Open Source License

/**
 * Prototypes the given member's flags.//  w ww .  j av  a  2s.  c  om
 *
 * @param buffer The buffer to append to.
 * @param member The member instance.
 */
protected void prototypeFlags(StringBuffer buffer, IMember member) throws Exception {
    int flags = member.getFlags();

    if (Flags.isPublic(flags)) {
        buffer.append("public ");
    } else if (Flags.isProtected(flags)) {
        buffer.append("protected ");
    } else if (Flags.isPrivate(flags)) {
        buffer.append("private ");
    }

    if (Flags.isStatic(flags)) {
        buffer.append("static ");
    }
    if (Flags.isFinal(flags)) {
        buffer.append("final ");
    }
    if (Flags.isAbstract(flags)) {
        buffer.append("abstract ");
    }
    if (Flags.isNative(flags)) {
        buffer.append("native ");
    }
    if (Flags.isTransient(flags)) {
        buffer.append("transient ");
    }
    if (Flags.isVolatile(flags)) {
        buffer.append("volatile ");
    }
    if (Flags.isSynchronized(flags)) {
        buffer.append("synchronized ");
    }
}

From source file:org.eclipse.ajdt.internal.ui.editor.quickfix.AJSerialVersionHashOperation.java

License:Open Source License

private static Long calculateSerialVersionId(IClassFileReader cfReader) throws IOException {
    // implementing algorithm specified on http://java.sun.com/j2se/1.5.0/docs/guide/serialization/spec/class.html#4100

    ByteArrayOutputStream os = new ByteArrayOutputStream();
    DataOutputStream doos = new DataOutputStream(os);
    doos.writeUTF(getClassName(cfReader.getClassName())); // class name
    int mod = getClassModifiers(cfReader);
    //      System.out.println(Integer.toHexString(mod) + ' ' + Flags.toString(mod));

    int classModifiers = mod & (Flags.AccPublic | Flags.AccFinal | Flags.AccInterface | Flags.AccAbstract);

    doos.writeInt(classModifiers); // class modifiers
    char[][] interfaces = getSortedInterfacesNames(cfReader);
    for (int i = 0; i < interfaces.length; i++) {
        doos.writeUTF(getClassName(interfaces[i]));
    }//  w w w .  ja v  a2  s  .  c  o  m
    IFieldInfo[] sortedFields = getSortedFields(cfReader);
    for (int i = 0; i < sortedFields.length; i++) {
        IFieldInfo curr = sortedFields[i];
        int flags = curr.getAccessFlags();
        if (!Flags.isPrivate(flags) || (!Flags.isStatic(flags) && !Flags.isTransient(flags))) {
            doos.writeUTF(new String(curr.getName()));
            doos.writeInt(flags & (Flags.AccPublic | Flags.AccPrivate | Flags.AccProtected | Flags.AccStatic
                    | Flags.AccFinal | Flags.AccVolatile | Flags.AccTransient)); // field modifiers
            doos.writeUTF(new String(curr.getDescriptor()));
        }
    }
    if (hasStaticClassInitializer(cfReader)) {
        doos.writeUTF(STATIC_CLASS_INITIALIZER);
        doos.writeInt(Flags.AccStatic);
        doos.writeUTF("()V"); //$NON-NLS-1$
    }
    IMethodInfo[] sortedMethods = getSortedMethods(cfReader);
    for (int i = 0; i < sortedMethods.length; i++) {
        IMethodInfo curr = sortedMethods[i];
        int flags = curr.getAccessFlags();
        if (!Flags.isPrivate(flags) && !curr.isClinit()) {
            doos.writeUTF(new String(curr.getName()));
            doos.writeInt(flags & (Flags.AccPublic | Flags.AccPrivate | Flags.AccProtected | Flags.AccStatic
                    | Flags.AccFinal | Flags.AccSynchronized | Flags.AccNative | Flags.AccAbstract
                    | Flags.AccStrictfp)); // method modifiers
            doos.writeUTF(getClassName(curr.getDescriptor()));
        }
    }
    doos.flush();
    return computeHash(os.toByteArray());
}

From source file:org.eclipse.jem.internal.adapters.jdom.JavaFieldJDOMAdaptor.java

License:Open Source License

/**
 * setModifiers - set the attribute values related to modifiers here
 *//*ww w .j  av  a 2  s .  c o m*/
protected void setModifiers() {
    Field javaFieldTarget = (Field) getTarget();
    try {
        String initializer = getFieldInitializerString();
        if (initializer != null)
            javaFieldTarget.setInitializer(createBlock(javaFieldTarget.getName(), initializer));
        int flags = getSourceField().getFlags();
        javaFieldTarget.setFinal(Flags.isFinal(flags));
        javaFieldTarget.setStatic(Flags.isStatic(flags));
        javaFieldTarget.setTransient(Flags.isTransient(flags));
        javaFieldTarget.setVolatile(Flags.isVolatile(flags));
        // Set visibility
        if (Flags.isPublic(flags))
            javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PUBLIC_LITERAL);
        else if (Flags.isPrivate(flags))
            javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PRIVATE_LITERAL);
        else if (Flags.isProtected(flags))
            javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PROTECTED_LITERAL);
        else
            javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PACKAGE_LITERAL);
    } catch (JavaModelException npe) {
        System.out.println(ResourceHandler.getString("Error_Introspecting_Flags_ERROR_", new Object[] { //$NON-NLS-1$
                ((XMIResource) javaFieldTarget.eResource()).getID(javaFieldTarget), npe.getMessage() })); //= "error introspecting flags on {0}"
    }
}

From source file:org.eclipse.jpt.common.core.internal.resource.java.binary.BinaryMember.java

License:Open Source License

private boolean buildTransient() {
    try {//from  w w  w .j a va2 s. co  m
        return Flags.isTransient(getElement().getFlags());
    } catch (JavaModelException ex) {
        JptCommonCorePlugin.instance().logError(ex);
        return false;
    }
}

From source file:org.eclipse.modisco.java.discoverer.internal.io.library.ClassFileParser.java

License:Open Source License

/**
 * Complete the MoDisco modifier with the informations of the flags.
 * /*from w  w w  . jav a2 s . c  o m*/
 * @param flags
 *            the flags
 * @param modiscoModifier
 *            the MoDisco Modifier
 * @see Flags
 */
private static void manageModifier(final Modifier modiscoModifier, final int flags,
        final IJavaElement element) {
    int kind = element.getElementType();
    // static is applicable on types, methods, fields, and initializers.
    if (!modiscoModifier.isStatic()) {
        if (kind == IJavaElement.TYPE || kind == IJavaElement.METHOD || kind == IJavaElement.FIELD) {
            modiscoModifier.setStatic(Flags.isStatic(flags));
        }
    }
    // native is applicable to methods
    if (!modiscoModifier.isNative()) {
        if (kind == IJavaElement.METHOD) {
            modiscoModifier.setNative(Flags.isNative(flags));
        }
    }
    // strictfp is applicable to types and methods
    if (!modiscoModifier.isStrictfp()) {
        if (kind == IJavaElement.TYPE || kind == IJavaElement.METHOD) {
            modiscoModifier.setStrictfp(Flags.isStrictfp(flags));
        }
    }
    // synchronized is applicable only to methods
    if (!modiscoModifier.isSynchronized()) {
        if (kind == IJavaElement.METHOD) {
            modiscoModifier.setSynchronized(Flags.isSynchronized(flags));
        }
    }
    // transient is applicable only to fields
    if (!modiscoModifier.isTransient()) {
        if (kind == IJavaElement.FIELD) {
            modiscoModifier.setTransient(Flags.isTransient(flags));
        }
    }
    // volatile is applicable only to fields
    if (!modiscoModifier.isVolatile()) {
        if (kind == IJavaElement.FIELD) {
            modiscoModifier.setVolatile(Flags.isVolatile(flags));
        }
    }

    // visibility modifiers are applicable to types, methods, constructors,
    // and fields.
    if (kind == IJavaElement.TYPE || kind == IJavaElement.METHOD || kind == IJavaElement.FIELD) {
        if (Flags.isPrivate(flags)) {
            modiscoModifier.setVisibility(VisibilityKind.PRIVATE);
        } else if (Flags.isProtected(flags)) {
            modiscoModifier.setVisibility(VisibilityKind.PROTECTED);
        } else if (Flags.isPublic(flags)) {
            modiscoModifier.setVisibility(VisibilityKind.PUBLIC);
        }
    }

    // abstract is applicable to types and methods
    // final is applicable to types, methods and variables
    if (kind == IJavaElement.TYPE || kind == IJavaElement.METHOD) {
        if (Flags.isAbstract(flags)) {
            modiscoModifier.setInheritance(InheritanceKind.ABSTRACT);
        } else if (Flags.isFinal(flags)) {
            modiscoModifier.setInheritance(InheritanceKind.FINAL);
        }
    }
}