本文整理汇总了Java中org.eclipse.jdt.core.IJavaElementDelta.F_CLOSED属性的典型用法代码示例。如果您正苦于以下问题:Java IJavaElementDelta.F_CLOSED属性的具体用法?Java IJavaElementDelta.F_CLOSED怎么用?Java IJavaElementDelta.F_CLOSED使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类org.eclipse.jdt.core.IJavaElementDelta
的用法示例。
在下文中一共展示了IJavaElementDelta.F_CLOSED属性的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: processDelta
@Override
protected void processDelta(IJavaElementDelta delta, List<IJavaElement> result) {
IJavaElement elem= delta.getElement();
boolean isChanged= delta.getKind() == IJavaElementDelta.CHANGED;
boolean isRemoved= delta.getKind() == IJavaElementDelta.REMOVED;
int flags= delta.getFlags();
switch (elem.getElementType()) {
case IJavaElement.JAVA_MODEL:
processChildrenDelta(delta, result);
return;
case IJavaElement.JAVA_PROJECT:
if (isRemoved || (isChanged &&
(flags & IJavaElementDelta.F_CLOSED) != 0)) {
return;
}
processChildrenDelta(delta, result);
return;
case IJavaElement.PACKAGE_FRAGMENT_ROOT:
if (isRemoved) {
return;
}
try {
if ((((flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0) ||
((flags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) != 0))
&& ((IPackageFragmentRoot)elem).getKind() != IPackageFragmentRoot.K_SOURCE) {
result.add(elem);
}
} catch (JavaModelException e) {
// don't update
}
return;
default:
return;
}
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:37,代码来源:BuildpathIndicatorLabelDecorator.java
示例2: processJavaDelta
private void processJavaDelta(WorkingSetDelta result, IJavaElementDelta delta) {
IJavaElement jElement= delta.getElement();
int index= result.indexOf(jElement);
int type= jElement.getElementType();
int kind= delta.getKind();
int flags= delta.getFlags();
if (type == IJavaElement.JAVA_PROJECT && kind == IJavaElementDelta.CHANGED) {
if (index != -1 && (flags & IJavaElementDelta.F_CLOSED) != 0) {
result.set(index, ((IJavaProject)jElement).getProject());
} else if ((flags & IJavaElementDelta.F_OPENED) != 0) {
index= result.indexOf(((IJavaProject)jElement).getProject());
if (index != -1)
result.set(index, jElement);
}
}
if (index != -1) {
if (kind == IJavaElementDelta.REMOVED) {
if ((flags & IJavaElementDelta.F_MOVED_TO) != 0) {
result.set(index, delta.getMovedToElement());
} else {
result.remove(index);
}
}
}
IResourceDelta[] resourceDeltas= delta.getResourceDeltas();
if (resourceDeltas != null) {
for (int i= 0; i < resourceDeltas.length; i++) {
processResourceDelta(result, resourceDeltas[i]);
}
}
IJavaElementDelta[] children= delta.getAffectedChildren();
for (int i= 0; i < children.length; i++) {
processJavaDelta(result, children[i]);
}
}
示例3: processJavaDelta
private void processJavaDelta(List<IAdaptable> elements, IJavaElementDelta delta) {
IJavaElement jElement= delta.getElement();
int type= jElement.getElementType();
if (type == IJavaElement.JAVA_PROJECT) {
int index= elements.indexOf(jElement);
int kind= delta.getKind();
int flags= delta.getFlags();
if (kind == IJavaElementDelta.CHANGED) {
if (index != -1 && (flags & IJavaElementDelta.F_CLOSED) != 0) {
elements.set(index, ((IJavaProject)jElement).getProject());
fWorkingSet.setElements(elements.toArray(new IAdaptable[elements.size()]));
} else if ((flags & IJavaElementDelta.F_OPENED) != 0) {
index= elements.indexOf(((IJavaProject)jElement).getProject());
if (index != -1) {
elements.set(index, jElement);
fWorkingSet.setElements(elements.toArray(new IAdaptable[elements.size()]));
}
}
}
// don't visit below projects
return;
}
IJavaElementDelta[] children= delta.getAffectedChildren();
for (int i= 0; i < children.length; i++) {
processJavaDelta(elements, children[i]);
}
}
示例4: changedProject
/*******************************************************
* A java project has been changed. This tests, based on the given delta
* flags, if it was opened or closed.
*
* @param project
* The modified project.
* @param flags
* The delta flags.
*******************************************************/
private void changedProject(IJavaProject project, int flags)
{
if ((flags & IJavaElementDelta.F_OPENED) != 0)
{
// A java project has been opened, add it to the list of projects
addJavaProject(project);
}
else if ((flags & IJavaElementDelta.F_CLOSED) != 0)
{
// A java project has been closed, remove it from the list of
// projects
removeJavaProjects(project);
}
}
示例5: processDelta
/**
* Computes whether the history needs a consistency check or not.
*
* @param delta the Java element delta
*
* @return <code>true</code> if consistency must be checked
* <code>false</code> otherwise.
*/
private boolean processDelta(IJavaElementDelta delta) {
IJavaElement elem= delta.getElement();
boolean isChanged= delta.getKind() == IJavaElementDelta.CHANGED;
boolean isRemoved= delta.getKind() == IJavaElementDelta.REMOVED;
switch (elem.getElementType()) {
case IJavaElement.JAVA_PROJECT:
if (isRemoved || (isChanged &&
(delta.getFlags() & IJavaElementDelta.F_CLOSED) != 0)) {
return true;
}
return processChildrenDelta(delta);
case IJavaElement.PACKAGE_FRAGMENT_ROOT:
if (isRemoved || (isChanged && (
(delta.getFlags() & IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) != 0 ||
(delta.getFlags() & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0))) {
return true;
}
return processChildrenDelta(delta);
case IJavaElement.TYPE:
if (isChanged && (delta.getFlags() & IJavaElementDelta.F_MODIFIERS) != 0) {
return true;
}
if (isRemoved) {
return true;
}
return processChildrenDelta(delta);
case IJavaElement.JAVA_MODEL:
case IJavaElement.PACKAGE_FRAGMENT:
case IJavaElement.CLASS_FILE:
if (isRemoved) {
return true;
}
return processChildrenDelta(delta);
case IJavaElement.COMPILATION_UNIT:
// Not the primary compilation unit. Ignore it
if (!JavaModelUtil.isPrimary((ICompilationUnit) elem)) {
return false;
}
if (isRemoved || (isChanged && isUnknownStructuralChange(delta.getFlags()))) {
return true;
}
return processChildrenDelta(delta);
default:
// fields, methods, imports ect
return false;
}
}
示例6: check
/**
* Recursively check whether the class file has been deleted.
*
* @param input the package fragment root
* @param delta the Java element delta
* @return <code>true</code> if delta processing can be stopped
*/
protected boolean check(IPackageFragmentRoot input, IJavaElementDelta delta) {
IJavaElement element= delta.getElement();
if ((delta.getKind() & IJavaElementDelta.REMOVED) != 0 || (delta.getFlags() & IJavaElementDelta.F_CLOSED) != 0) {
// http://dev.eclipse.org/bugs/show_bug.cgi?id=19023
if (element.equals(input.getJavaProject()) || element.equals(input)) {
handleDeleted(fInput);
return true;
}
}
if (((delta.getFlags() & IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) != 0) && input.equals(element)) {
handleDeleted(fInput);
return true;
}
if (((delta.getFlags() & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0) && input.equals(element)) {
handleDeleted(fInput);
return true;
}
IJavaElementDelta[] subdeltas= delta.getAffectedChildren();
for (int i= 0; i < subdeltas.length; i++) {
if (check(input, subdeltas[i]))
return true;
}
if ((delta.getFlags() & IJavaElementDelta.F_SOURCEDETACHED) != 0 ||
(delta.getFlags() & IJavaElementDelta.F_SOURCEATTACHED) != 0)
{
IClassFile file= fInput != null ? fInput.getClassFile() : null;
IJavaProject project= input != null ? input.getJavaProject() : null;
boolean isOnClasspath= false;
if (file != null && project != null)
isOnClasspath= project.isOnClasspath(file);
if (isOnClasspath) {
fireInputChanged(fInput);
return false;
} else {
handleDeleted(fInput);
return true;
}
}
return false;
}
示例7: processDelta
@Override
protected void processDelta(IJavaElementDelta delta, List<IJavaElement> result) {
IJavaElement elem= delta.getElement();
boolean isChanged= delta.getKind() == IJavaElementDelta.CHANGED;
boolean isRemoved= delta.getKind() == IJavaElementDelta.REMOVED;
int flags= delta.getFlags();
switch (elem.getElementType()) {
case IJavaElement.JAVA_PROJECT:
if (isRemoved || (isChanged &&
(flags & IJavaElementDelta.F_CLOSED) != 0)) {
return;
}
processChildrenDelta(delta, result);
return;
case IJavaElement.PACKAGE_FRAGMENT_ROOT:
if (isRemoved || (isChanged && (
(flags & IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) != 0 ||
(flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0))) {
return;
}
processChildrenDelta(delta, result);
return;
case IJavaElement.PACKAGE_FRAGMENT:
if (isRemoved)
return;
processChildrenDelta(delta, result);
return;
case IJavaElement.TYPE:
case IJavaElement.CLASS_FILE:
return;
case IJavaElement.JAVA_MODEL:
processChildrenDelta(delta, result);
return;
case IJavaElement.COMPILATION_UNIT:
// Not the primary compilation unit. Ignore it
if (!JavaModelUtil.isPrimary((ICompilationUnit) elem)) {
return;
}
if (isChanged && ((flags & IJavaElementDelta.F_CONTENT) != 0 || (flags & IJavaElementDelta.F_FINE_GRAINED) != 0)) {
if (delta.getAffectedChildren().length == 0)
return;
result.add(elem);
}
return;
default:
// fields, methods, imports ect
return;
}
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:53,代码来源:InterfaceIndicatorLabelDecorator.java