Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/utils/FilteredCollectionViewFromIterator.java')
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/utils/FilteredCollectionViewFromIterator.java516
1 files changed, 258 insertions, 258 deletions
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/utils/FilteredCollectionViewFromIterator.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/utils/FilteredCollectionViewFromIterator.java
index 1c1548e93e9..3382fc2bb69 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/utils/FilteredCollectionViewFromIterator.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/utils/FilteredCollectionViewFromIterator.java
@@ -1,258 +1,258 @@
-/*****************************************************************************
- * Copyright (c) 2008 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cedric Dumoulin Cedric.dumoulin@lifl.fr - Initial API and implementation
- *
- *****************************************************************************/
-//Source file: H:\\temp\\generated\\modTransf\\util\\FilteredListView.java
-package org.eclipse.papyrus.infra.core.utils;
-
-import java.util.AbstractCollection;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-
-/**
- * A unmodifiable view on a specified list from its iterator. The view filters
- * the original list according to the provided filter.
- *
- * @param <E>
- * the type of objects in the filtered collection
- */
-public class FilteredCollectionViewFromIterator<E> extends AbstractCollection<E> implements Collection<E> {
-
- /**
- * The iterator provider linked to the backup list.
- */
- private IteratorProvider<E> iter;
-
- /**
- *
- */
- private IFilter filter;
-
- /**
- * The cached size. Compute only once, so change in the underlying
- * collection is not reflected
- */
- private int size = -1;
-
- /**
- *
- *
- * @param filter
- * @param list
- * *
- * @param iter
- */
- public FilteredCollectionViewFromIterator(IteratorProvider<E> iter, IFilter filter) {
- this.iter = iter;
- this.filter = filter;
- }
-
- /**
- * Sets the value of the list property.
- *
- * @param iter
- * the new value of the list property
- */
- public void setBackupCollection(IteratorProvider<E> iter) {
- this.iter = iter;
- }
-
- /**
- *
- *
- * @return
- */
- Iterator<E> getBackupIterator() {
- return iter.iterator();
- }
-
- /**
- * Sets the value of the filter property.
- *
- * @param aFilter
- * the new value of the filter property
- */
- public void setFilter(IFilter aFilter) {
- filter = aFilter;
- }
-
- /**
- * Sets the value of the filter property.
- *
- * @return the new value of the filter property
- */
- public IFilter getFilter() {
- return filter;
- }
-
- /**
- * size.
- *
- * @return int
- */
- @Override
- public int size() {
- if (size == -1) { // compute the size
- size = 0;
- Iterator<E> i = iterator();
- while (i.hasNext()) {
- size++;
- i.next();
- }
- }
- return size;
- }
-
- /**
- * Removes a single instance of the specified element from this collection,
- * if it is present (optional operation). More formally, removes an element <tt>e</tt> such that <tt>(o==null ? e==null :
- * o.equals(e))</tt>, if the collection contains one or more such elements.
- * Returns <tt>true</tt> if the collection contained the specified element
- * (or equivalently, if the collection changed as a result of the call).
- * <p>
- *
- * This implementation call the remove method on the underlying collection.
- * <p>
- *
- * @param o
- * element to be removed from this collection, if present.
- *
- * @return <tt>true</tt> if the collection contained the specified element.
- *
- * @throws UnsupportedOperationException
- * if the <tt>remove</tt> method is not supported by this
- * collection.
- */
- @Override
- public boolean remove(Object o) {
- // return list.remove(o);
- throw new UnsupportedOperationException();
- }
-
- /**
- * Return the value to be returned by the iterator.next() method. This
- * method can be overloaded by subclasses in order to return another value
- * than the objects belonging to the underlying list.
- *
- * @param ele
- * The iterated object. This is the object iterated inside the
- * underlying list.
- *
- * @return
- */
- protected E returnedValue(E ele) {
- return ele;
- }
-
- /**
- * listIterator.
- *
- * @param index
- * int
- *
- * @return ListIterator
- */
- @Override
- public Iterator<E> iterator() {
- return new FilteredIterator();
- }
-
- /**
- *
- */
- private class FilteredIterator implements Iterator<E> {
-
- /**
- *
- */
- E next;
-
- /**
- *
- */
- Iterator<E> listIterator;
-
- /**
- *
- */
- public FilteredIterator() {
- listIterator = getBackupIterator();
- next = nextFilteredObject();
- }
-
- /**
- * remove.
- */
- @Override
- public void remove() {
- throw new UnsupportedOperationException();
- }
-
- /**
- *
- *
- * @return
- */
- protected E nextFilteredObject() {
- while (listIterator.hasNext()) {
- E ele = listIterator.next();
- if (filter.isAllowed(ele)) {
- return returnedValue(ele);
- }
- } // end loop
- return null;
- }
-
- /**
- * hasNext.
- *
- * @return boolean
- */
- @Override
- public boolean hasNext() {
- return next != null;
- }
-
- /**
- * Compute the next field (null or next value), and return the previous
- * value of the next field.
- *
- * @return Object
- */
- @Override
- public E next() {
- if (next == null) {
- throw new NoSuchElementException();
- }
- E ele = next;
- next = nextFilteredObject();
- return ele;
- }
-
- }
-
- /**
- * Inner class. Provide an iterator used internally in the unmodifiable
- * collection view..
- */
- public interface IteratorProvider<E> {
-
- /**
- * provide a new iterator over the list.
- *
- * @return
- */
- Iterator<E> iterator();
- }
-
-}
+/*****************************************************************************
+ * Copyright (c) 2008 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Cedric Dumoulin Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+//Source file: H:\\temp\\generated\\modTransf\\util\\FilteredListView.java
+package org.eclipse.papyrus.infra.core.utils;
+
+import java.util.AbstractCollection;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+/**
+ * A unmodifiable view on a specified list from its iterator. The view filters
+ * the original list according to the provided filter.
+ *
+ * @param <E>
+ * the type of objects in the filtered collection
+ */
+public class FilteredCollectionViewFromIterator<E> extends AbstractCollection<E> implements Collection<E> {
+
+ /**
+ * The iterator provider linked to the backup list.
+ */
+ private IteratorProvider<E> iter;
+
+ /**
+ *
+ */
+ private IFilter filter;
+
+ /**
+ * The cached size. Compute only once, so change in the underlying
+ * collection is not reflected
+ */
+ private int size = -1;
+
+ /**
+ *
+ *
+ * @param filter
+ * @param list
+ * *
+ * @param iter
+ */
+ public FilteredCollectionViewFromIterator(IteratorProvider<E> iter, IFilter filter) {
+ this.iter = iter;
+ this.filter = filter;
+ }
+
+ /**
+ * Sets the value of the list property.
+ *
+ * @param iter
+ * the new value of the list property
+ */
+ public void setBackupCollection(IteratorProvider<E> iter) {
+ this.iter = iter;
+ }
+
+ /**
+ *
+ *
+ * @return
+ */
+ Iterator<E> getBackupIterator() {
+ return iter.iterator();
+ }
+
+ /**
+ * Sets the value of the filter property.
+ *
+ * @param aFilter
+ * the new value of the filter property
+ */
+ public void setFilter(IFilter aFilter) {
+ filter = aFilter;
+ }
+
+ /**
+ * Sets the value of the filter property.
+ *
+ * @return the new value of the filter property
+ */
+ public IFilter getFilter() {
+ return filter;
+ }
+
+ /**
+ * size.
+ *
+ * @return int
+ */
+ @Override
+ public int size() {
+ if (size == -1) { // compute the size
+ size = 0;
+ Iterator<E> i = iterator();
+ while (i.hasNext()) {
+ size++;
+ i.next();
+ }
+ }
+ return size;
+ }
+
+ /**
+ * Removes a single instance of the specified element from this collection,
+ * if it is present (optional operation). More formally, removes an element <tt>e</tt> such that <tt>(o==null ? e==null :
+ * o.equals(e))</tt>, if the collection contains one or more such elements.
+ * Returns <tt>true</tt> if the collection contained the specified element
+ * (or equivalently, if the collection changed as a result of the call).
+ * <p>
+ *
+ * This implementation call the remove method on the underlying collection.
+ * <p>
+ *
+ * @param o
+ * element to be removed from this collection, if present.
+ *
+ * @return <tt>true</tt> if the collection contained the specified element.
+ *
+ * @throws UnsupportedOperationException
+ * if the <tt>remove</tt> method is not supported by this
+ * collection.
+ */
+ @Override
+ public boolean remove(Object o) {
+ // return list.remove(o);
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * Return the value to be returned by the iterator.next() method. This
+ * method can be overloaded by subclasses in order to return another value
+ * than the objects belonging to the underlying list.
+ *
+ * @param ele
+ * The iterated object. This is the object iterated inside the
+ * underlying list.
+ *
+ * @return
+ */
+ protected E returnedValue(E ele) {
+ return ele;
+ }
+
+ /**
+ * listIterator.
+ *
+ * @param index
+ * int
+ *
+ * @return ListIterator
+ */
+ @Override
+ public Iterator<E> iterator() {
+ return new FilteredIterator();
+ }
+
+ /**
+ *
+ */
+ private class FilteredIterator implements Iterator<E> {
+
+ /**
+ *
+ */
+ E next;
+
+ /**
+ *
+ */
+ Iterator<E> listIterator;
+
+ /**
+ *
+ */
+ public FilteredIterator() {
+ listIterator = getBackupIterator();
+ next = nextFilteredObject();
+ }
+
+ /**
+ * remove.
+ */
+ @Override
+ public void remove() {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ *
+ *
+ * @return
+ */
+ protected E nextFilteredObject() {
+ while (listIterator.hasNext()) {
+ E ele = listIterator.next();
+ if (filter.isAllowed(ele)) {
+ return returnedValue(ele);
+ }
+ } // end loop
+ return null;
+ }
+
+ /**
+ * hasNext.
+ *
+ * @return boolean
+ */
+ @Override
+ public boolean hasNext() {
+ return next != null;
+ }
+
+ /**
+ * Compute the next field (null or next value), and return the previous
+ * value of the next field.
+ *
+ * @return Object
+ */
+ @Override
+ public E next() {
+ if (next == null) {
+ throw new NoSuchElementException();
+ }
+ E ele = next;
+ next = nextFilteredObject();
+ return ele;
+ }
+
+ }
+
+ /**
+ * Inner class. Provide an iterator used internally in the unmodifiable
+ * collection view..
+ */
+ public interface IteratorProvider<E> {
+
+ /**
+ * provide a new iterator over the list.
+ *
+ * @return
+ */
+ Iterator<E> iterator();
+ }
+
+}

Back to the top