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

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

Introduction

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

Prototype

int F_ANNOTATIONS

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

Click Source Link

Document

Change flag indicating that the annotations 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;//from   w ww.j  a va2s  . 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

private void findAnnotationChanges(IAnnotation[] oldAnnotations, IAnnotation[] newAnnotations,
        IJavaElement parent) {/*from w  ww  . j av  a  2  s  . c om*/
    ArrayList annotationDeltas = null;
    for (int i = 0, length = newAnnotations.length; i < length; i++) {
        IAnnotation newAnnotation = newAnnotations[i];
        Object oldInfo = this.annotationInfos.remove(newAnnotation);
        if (oldInfo == null) {
            JavaElementDelta annotationDelta = new JavaElementDelta(newAnnotation);
            annotationDelta.added();
            if (annotationDeltas == null)
                annotationDeltas = new ArrayList();
            annotationDeltas.add(annotationDelta);
            continue;
        } else {
            AnnotationInfo newInfo = null;
            try {
                newInfo = (AnnotationInfo) ((JavaElement) newAnnotation).getElementInfo();
            } catch (JavaModelException npe) {
                return;
            }
            if (!Util.equalArraysOrNull(((AnnotationInfo) oldInfo).members, newInfo.members)) {
                JavaElementDelta annotationDelta = new JavaElementDelta(newAnnotation);
                annotationDelta.changed(IJavaElementDelta.F_CONTENT);
                if (annotationDeltas == null)
                    annotationDeltas = new ArrayList();
                annotationDeltas.add(annotationDelta);
            }
        }
    }
    for (int i = 0, length = oldAnnotations.length; i < length; i++) {
        IAnnotation oldAnnotation = oldAnnotations[i];
        if (this.annotationInfos.remove(oldAnnotation) != null) {
            JavaElementDelta annotationDelta = new JavaElementDelta(oldAnnotation);
            annotationDelta.removed();
            if (annotationDeltas == null)
                annotationDeltas = new ArrayList();
            annotationDeltas.add(annotationDelta);
        }
    }
    if (annotationDeltas == null)
        return;
    int size = annotationDeltas.size();
    if (size > 0) {
        JavaElementDelta parentDelta = this.delta.changed(parent, IJavaElementDelta.F_ANNOTATIONS);
        parentDelta.annotationDeltas = (IJavaElementDelta[]) annotationDeltas
                .toArray(new IJavaElementDelta[size]);
    }
}

From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JavaElementDeltaFilter.java

License:Open Source License

/**
 * Applies the configured rules to see if the given JavaElementDelta needs to be processed or should be ignored.
 * @param event the  Java Element Delta// w  w w. jav  a 2s  .c om
 * @return true if the event should be processed, false otherwise
 */
public boolean apply(final JavaElementChangedEvent event) {
    if (event.getElement() == null) {
        return false;
    }
    final int elementKind = event.getElement().getElementType();
    final int deltaKind = event.getKind();
    final IJavaElement element = event.getElement();
    // prevent processing java elements in a closed java project
    // prevent processing of any file named 'package-info.java'
    // prevent processing of any jar file
    if (isPackageInfoFile(element) || isJarArchive(element)) {
        return false;
    }
    final Flags flags = event.getFlags();
    if (flags.hasExactValue(IJavaElementDelta.F_ANNOTATIONS)) {
        return false;
    }
    boolean workingCopy = JdtUtils.isWorkingCopy(element);
    final boolean match = apply(elementKind, deltaKind, event.getEventType(), flags, workingCopy);
    if (match) {
        Logger.trace("**accepted** {}", event);
    } else {
        Logger.trace("**rejected** {}", event);
    }
    return match;
}