import org.eclipse.jface.text.source.Annotation;
import org.eclipse.jface.text.source.IAnnotationModel;
-
/**
* Filters problems based on their types.
*/
public class JavaAnnotationIterator implements Iterator {
-
+
private Iterator fIterator;
+
private Annotation fNext;
+
private boolean fSkipIrrelevants;
+
private boolean fReturnAllAnnotations;
-
+
/**
- * Equivalent to <code>JavaAnnotationIterator(model, skipIrrelevants, false)</code>.
+ * Equivalent to
+ * <code>JavaAnnotationIterator(model, skipIrrelevants, false)</code>.
*/
- public JavaAnnotationIterator(IAnnotationModel model, boolean skipIrrelevants) {
+ public JavaAnnotationIterator(IAnnotationModel model,
+ boolean skipIrrelevants) {
this(model, skipIrrelevants, false);
}
-
+
/**
- * Returns a new JavaAnnotationIterator.
- * @param model the annotation model
- * @param skipIrrelevants whether to skip irrelevant annotations
- * @param returnAllAnnotations Whether to return non IJavaAnnotations as well
+ * Returns a new JavaAnnotationIterator.
+ *
+ * @param model
+ * the annotation model
+ * @param skipIrrelevants
+ * whether to skip irrelevant annotations
+ * @param returnAllAnnotations
+ * Whether to return non IJavaAnnotations as well
*/
- public JavaAnnotationIterator(IAnnotationModel model, boolean skipIrrelevants, boolean returnAllAnnotations) {
- fReturnAllAnnotations= returnAllAnnotations;
+ public JavaAnnotationIterator(IAnnotationModel model,
+ boolean skipIrrelevants, boolean returnAllAnnotations) {
+ fReturnAllAnnotations = returnAllAnnotations;
if (model != null)
- fIterator= model.getAnnotationIterator();
+ fIterator = model.getAnnotationIterator();
else
- fIterator= Collections.EMPTY_LIST.iterator();
- fSkipIrrelevants= skipIrrelevants;
+ fIterator = Collections.EMPTY_LIST.iterator();
+ fSkipIrrelevants = skipIrrelevants;
skip();
}
-
+
private void skip() {
while (fIterator.hasNext()) {
- Annotation next= (Annotation) fIterator.next();
+ Annotation next = (Annotation) fIterator.next();
if (next instanceof IJavaAnnotation) {
if (fSkipIrrelevants) {
if (!next.isMarkedDeleted()) {
- fNext= next;
+ fNext = next;
return;
}
} else {
- fNext= next;
+ fNext = next;
return;
}
} else if (fReturnAllAnnotations) {
- fNext= next;
+ fNext = next;
return;
}
}
- fNext= null;
+ fNext = null;
}
-
+
/*
* @see Iterator#hasNext()
*/