Example usage for org.eclipse.jdt.core IJavaElementDelta F_CATEGORIES

List of usage examples for org.eclipse.jdt.core IJavaElementDelta F_CATEGORIES

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaElementDelta F_CATEGORIES.

Prototype

int F_CATEGORIES

To view the source code for org.eclipse.jdt.core IJavaElementDelta F_CATEGORIES.

Click Source Link

Document

Change flag indicating that the categories of the element have changed.

Usage

From source file:com.codenvy.ide.ext.java.server.internal.core.JavaElementDelta.java

License:Open Source License

protected boolean toDebugString(StringBuffer buffer, int flags) {
    boolean prev = super.toDebugString(buffer, flags);

    if ((flags & IJavaElementDelta.F_CHILDREN) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("CHILDREN"); //$NON-NLS-1$
        prev = true;/* ww w. jav a2s. c  o  m*/
    }
    if ((flags & IJavaElementDelta.F_CONTENT) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("CONTENT"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_MOVED_FROM) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("MOVED_FROM(" + ((JavaElement) getMovedFromElement()).toStringWithAncestors() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_MOVED_TO) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("MOVED_TO(" + ((JavaElement) getMovedToElement()).toStringWithAncestors() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("ADDED TO CLASSPATH"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("REMOVED FROM CLASSPATH"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_REORDER) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("REORDERED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("ARCHIVE CONTENT CHANGED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_SOURCEATTACHED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("SOURCE ATTACHED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_SOURCEDETACHED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("SOURCE DETACHED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_FINE_GRAINED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("FINE GRAINED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_PRIMARY_WORKING_COPY) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("PRIMARY WORKING COPY"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("RAW CLASSPATH CHANGED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("RESOLVED CLASSPATH CHANGED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_PRIMARY_RESOURCE) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("PRIMARY RESOURCE"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_OPENED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("OPENED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_CLOSED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("CLOSED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_AST_AFFECTED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("AST AFFECTED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_CATEGORIES) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("CATEGORIES"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_ANNOTATIONS) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("ANNOTATIONS"); //$NON-NLS-1$
        prev = true;
    }
    return prev;
}

From source file:com.codenvy.ide.ext.java.server.internal.core.JavaElementDeltaBuilder.java

License:Open Source License

/**
 * The elements are equivalent, but might have content changes.
 *//*from w w w  .  ja va 2s  . c om*/
private void findContentChange(JavaElementInfo oldInfo, JavaElementInfo newInfo, IJavaElement newElement) {
    if (oldInfo instanceof MemberElementInfo && newInfo instanceof MemberElementInfo) {
        if (((MemberElementInfo) oldInfo).getModifiers() != ((MemberElementInfo) newInfo).getModifiers()) {
            this.delta.changed(newElement, IJavaElementDelta.F_MODIFIERS);
        }
        if (oldInfo instanceof AnnotatableInfo && newInfo instanceof AnnotatableInfo) {
            findAnnotationChanges(((AnnotatableInfo) oldInfo).annotations,
                    ((AnnotatableInfo) newInfo).annotations, newElement);
        }
        if (oldInfo instanceof SourceMethodElementInfo && newInfo instanceof SourceMethodElementInfo) {
            SourceMethodElementInfo oldSourceMethodInfo = (SourceMethodElementInfo) oldInfo;
            SourceMethodElementInfo newSourceMethodInfo = (SourceMethodElementInfo) newInfo;
            if (!CharOperation.equals(oldSourceMethodInfo.getReturnTypeName(),
                    newSourceMethodInfo.getReturnTypeName())
                    || !CharOperation.equals(oldSourceMethodInfo.getTypeParameterNames(),
                            newSourceMethodInfo.getTypeParameterNames())
                    || !equals(oldSourceMethodInfo.getTypeParameterBounds(),
                            newSourceMethodInfo.getTypeParameterBounds())) {
                this.delta.changed(newElement, IJavaElementDelta.F_CONTENT);
            }
        } else if (oldInfo instanceof SourceFieldElementInfo && newInfo instanceof SourceFieldElementInfo) {
            if (!CharOperation.equals(((SourceFieldElementInfo) oldInfo).getTypeName(),
                    ((SourceFieldElementInfo) newInfo).getTypeName())) {
                this.delta.changed(newElement, IJavaElementDelta.F_CONTENT);
            }
        } else if (oldInfo instanceof SourceTypeElementInfo && newInfo instanceof SourceTypeElementInfo) {
            SourceTypeElementInfo oldSourceTypeInfo = (SourceTypeElementInfo) oldInfo;
            SourceTypeElementInfo newSourceTypeInfo = (SourceTypeElementInfo) newInfo;
            if (!CharOperation.equals(oldSourceTypeInfo.getSuperclassName(),
                    newSourceTypeInfo.getSuperclassName())
                    || !CharOperation.equals(oldSourceTypeInfo.getInterfaceNames(),
                            newSourceTypeInfo.getInterfaceNames())) {
                this.delta.changed(newElement, IJavaElementDelta.F_SUPER_TYPES);
            }
            if (!CharOperation.equals(oldSourceTypeInfo.getTypeParameterNames(),
                    newSourceTypeInfo.getTypeParameterNames())
                    || !equals(oldSourceTypeInfo.getTypeParameterBounds(),
                            newSourceTypeInfo.getTypeParameterBounds())) {
                this.delta.changed(newElement, IJavaElementDelta.F_CONTENT);
            }
            HashMap oldTypeCategories = oldSourceTypeInfo.categories;
            HashMap newTypeCategories = newSourceTypeInfo.categories;
            if (oldTypeCategories != null) {
                // take the union of old and new categories elements (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=125675)
                Set elements;
                if (newTypeCategories != null) {
                    elements = new HashSet(oldTypeCategories.keySet());
                    elements.addAll(newTypeCategories.keySet());
                } else
                    elements = oldTypeCategories.keySet();
                Iterator iterator = elements.iterator();
                while (iterator.hasNext()) {
                    IJavaElement element = (IJavaElement) iterator.next();
                    String[] oldCategories = (String[]) oldTypeCategories.get(element);
                    String[] newCategories = newTypeCategories == null ? null
                            : (String[]) newTypeCategories.get(element);
                    if (!Util.equalArraysOrNull(oldCategories, newCategories)) {
                        this.delta.changed(element, IJavaElementDelta.F_CATEGORIES);
                    }
                }
            } else if (newTypeCategories != null) {
                Iterator elements = newTypeCategories.keySet().iterator();
                while (elements.hasNext()) {
                    IJavaElement element = (IJavaElement) elements.next();
                    this.delta.changed(element, IJavaElementDelta.F_CATEGORIES); // all categories for this element were removed
                }
            }
        }
    }
}