/** * <copyright> * </copyright> * * */ package org.dresdenocl.language.ocl.resource.ocl.ui; import java.util.Collections; import java.util.Iterator; import java.util.List; import org.eclipse.emf.ecore.EObject; import org.eclipse.jface.viewers.IStructuredSelection; public class OclEObjectSelection implements IStructuredSelection { private final EObject selectedObject; public OclEObjectSelection(EObject selectedObject) { super(); this.selectedObject = selectedObject; } public EObject getSelectedObject() { return selectedObject; } public boolean isEmpty() { return false; } public Object getFirstElement() { return selectedObject; } public Iterator<?> iterator() { return new Iterator<EObject>() { private boolean hasNext = true; public boolean hasNext() { return hasNext; } public EObject next(){ hasNext = false; return selectedObject; } public void remove() { } }; } public int size() { return 1; } public Object[] toArray() { return new Object[] {selectedObject}; } public List<?> toList() { return Collections.singletonList(selectedObject); } }