/** * */ package com.yoursway.databinding.resources.internal; import java.util.AbstractSet; import java.util.Arrays; import java.util.Iterator; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; import com.yoursway.common.resources.ResourceUtils; public final class ShallowChildrenSet extends AbstractSet<IResource> { private final IContainer container; public ShallowChildrenSet(IContainer container) { this.container = container; } @Override public Iterator<IResource> iterator() { try { final IResource[] members = container.members(); System.out.println(members.length + " member(s) of " + container + ":"); for (IResource member : members) System.out.println(" - " + member); return Arrays.asList(members).iterator(); } catch (CoreException e) { if (!ResourceUtils.isNotFound(e)) throw new AssertionError("Error " + e + " was not expected"); return ShallowChildrenObservable.NO_RESOURCES.iterator(); } } @Override public int size() { try { return container.members().length; } catch (CoreException e) { if (!ResourceUtils.isNotFound(e)) throw new AssertionError("Error " + e + " was not expected"); return 0; } } }