public static <T extends EObject> List<T> getAllContentsOfType(EObject ele, Class<T> type) { return Lists.newArrayList(Iterators.filter(ele.eAllContents(), type)); } }
@Override public XImportSection getImportSection(XtextResource resource) { EList<EObject> contents = resource.getContents(); if (!contents.isEmpty()) { for (Iterator<EObject> i = contents.get(0).eAllContents(); i.hasNext();) { EObject next = i.next(); if (next instanceof XImportSection) return (XImportSection) next; } } return null; }
@SuppressWarnings("unchecked") public static <T extends EObject> List<T> getAllContentsOfType(EObject ele, Class<T> type) { List<T> result = new ArrayList<T>(); TreeIterator<EObject> allContents = ele.eAllContents(); while (allContents.hasNext()) { EObject object = allContents.next(); if (type.isAssignableFrom(object.getClass())) { result.add((T) object); } } return result; }
@SuppressWarnings("unchecked") public static <T extends EObject> List<T> eAllOfType(EObject ele, Class<T> type) { List<T> result = new ArrayList<T>(); if (type.isAssignableFrom(ele.getClass())) result.add((T) ele); TreeIterator<EObject> allContents = ele.eAllContents(); while (allContents.hasNext()) { EObject object = allContents.next(); if (type.isAssignableFrom(object.getClass())) { result.add((T) object); } } return result; }
protected void ensureModelLinked(EObject model, final IDiagnosticProducer producer) { ensureLinked(model, producer); final Iterator<EObject> allContents = model.eAllContents(); while (allContents.hasNext()) ensureLinked(allContents.next(), producer); }
public static List<EObject> eAllContentsAsList(EObject ele) { List<EObject> result = new ArrayList<EObject>(); TreeIterator<EObject> iterator = ele.eAllContents(); while (iterator.hasNext()) result.add(iterator.next()); return result; }
protected void clearAllReferences(EObject model) { clearReferences(model); final Iterator<EObject> iter = model.eAllContents(); while (iter.hasNext()) clearReferences(iter.next()); }
/** * @see org.eclipse.emf.ecore.util.EcoreUtil#resolveAll(EObject) */ public static void resolveAll(EObject eObject, CancelIndicator monitor) { resolveCrossReferences(eObject, monitor); for (Iterator<EObject> i = eObject.eAllContents(); !monitor.isCanceled() && i.hasNext();) { EObject childEObject = i.next(); resolveCrossReferences(childEObject, monitor); } }
public boolean isUsed() { for (Iterator<EObject> i = getEcoreTypeParameter().eContainer().eAllContents(); i.hasNext(); ) { EObject eObject = i.next(); if (eObject instanceof EGenericType && ((EGenericType)eObject).getETypeParameter() == ecoreTypeParameter) { return true; } } return false; }
public boolean isUsed() { for (Iterator<EObject> i = getEcoreTypeParameter().eContainer().eAllContents(); i.hasNext(); ) { EObject eObject = i.next(); if (eObject instanceof EGenericType && ((EGenericType)eObject).getETypeParameter() == ecoreTypeParameter) { return true; } } return false; }
/** * Visits all proxies referenced by the object and recursively any of its contained objects. * @param eObject the object to visit. */ public static void resolveAll(EObject eObject) { eObject.eContainer(); resolveCrossReferences(eObject); for (Iterator<EObject> i = eObject.eAllContents(); i.hasNext(); ) { EObject childEObject = i.next(); resolveCrossReferences(childEObject); } }
/** * Visits all proxies referenced by the object and recursively any of its contained objects. * @param eObject the object to visit. */ public static void resolveAll(EObject eObject) { eObject.eContainer(); resolveCrossReferences(eObject); for (Iterator<EObject> i = eObject.eAllContents(); i.hasNext(); ) { EObject childEObject = i.next(); resolveCrossReferences(childEObject); } }
/** * @return all xbase check() or eval() expressions in the pattern */ public static Collection<XExpression> getAllTopLevelXBaseExpressions(EObject patternOrBody) { final List<XExpression> result = new ArrayList<XExpression>(); final TreeIterator<EObject> eAllContents = patternOrBody.eAllContents(); while (eAllContents.hasNext()) { final EObject content = eAllContents.next(); if (content instanceof XExpression) { result.add((XExpression) content); // do not include subexpressions eAllContents.prune(); } } return result; }
/** * @return all xbase check() or eval() expressions in the pattern */ public static Collection<XExpression> getAllTopLevelXBaseExpressions(EObject patternOrBody) { final List<XExpression> result = new ArrayList<>(); final TreeIterator<EObject> eAllContents = patternOrBody.eAllContents(); while (eAllContents.hasNext()) { final EObject content = eAllContents.next(); if (content instanceof XExpression) { result.add((XExpression) content); // do not include subexpressions eAllContents.prune(); } } return result; }
@Check(CheckType.NORMAL) public void checkDataTypeUnique(final Type dataType) { final String dataTypeId = NAME_RESOLVER.apply(dataType); Iterator<EObject> dataTypes = filter(getRootContainer(dataType).eAllContents(), new Predicate<EObject>() { public boolean apply(EObject eObject) { return eObject instanceof Type && !dataType.equals(eObject) && NAME_RESOLVER.apply(eObject).equals(dataTypeId); } }); if (dataTypes.hasNext()) { error("Duplicate type '" + dataTypeId + "' detected", null); } }
@Check(CheckType.NORMAL) public void checkValidatorUnique(final Validator validator) { final String validatorId = NAME_RESOLVER.apply(validator); Iterator<EObject> validators = filter(getRootContainer(validator).eAllContents(), new Predicate<EObject>() { public boolean apply(EObject eObject) { return eObject instanceof Validator && !validator.equals(eObject) && NAME_RESOLVER.apply(eObject).equals(validatorId); } }); if (validators.hasNext()) { error("Duplicate validator '" + validatorId + "' detected", null); } }
private static void setChildrenWidgetProperties(EObject modelElement, Style parentStyle) { TreeIterator<EObject> allContents = modelElement.eAllContents(); while (allContents.hasNext()) { EObject obj = allContents.next(); if (obj instanceof XMAWidget) { XMAWidget xmaWidget = (XMAWidget)obj; GuiElement guiElement = getGuiElementProperty(xmaWidget); setWidgetProperties(xmaWidget,guiElement,parentStyle); } } }
public boolean validateRecursive(EObject obj, IDiagnosticAcceptor acceptor, Map<Object, Object> context) { boolean r = true; r &= validateObject(obj, acceptor, context); TreeIterator<EObject> i = obj.eAllContents(); while (i.hasNext()) r &= validateObject(i.next(), acceptor, context); return r; }
private static void extendModelElementsForEmptyStyle(EObject xmaComp) { TreeIterator<EObject> allContents = xmaComp.eAllContents(); while (allContents.hasNext()) { EObject obj = allContents.next(); if (isBranchToSkip(obj)) continue; extendModelElement(obj,null); } }
private static void setAllWidgetPropertiesForEmptyStyle(EObject xmaComp) { TreeIterator<EObject> allContents = xmaComp.eAllContents(); while (allContents.hasNext()) { EObject obj = allContents.next(); if (obj instanceof XMAWidget) { XMAWidget xmaWidget = (XMAWidget)obj; GuiElement guiElement = getGuiElementProperty(xmaWidget); setWidgetProperties(xmaWidget,guiElement,null); } } }