当前位置: 首页>>代码示例>>Java>>正文


Java AbstractTreeIterator类代码示例

本文整理汇总了Java中org.eclipse.emf.common.util.AbstractTreeIterator的典型用法代码示例。如果您正苦于以下问题:Java AbstractTreeIterator类的具体用法?Java AbstractTreeIterator怎么用?Java AbstractTreeIterator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


AbstractTreeIterator类属于org.eclipse.emf.common.util包,在下文中一共展示了AbstractTreeIterator类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getAllNonDerivedContents

import org.eclipse.emf.common.util.AbstractTreeIterator; //导入依赖的package包/类
/**
 * @since 2.6
 */
public static TreeIterator<EObject> getAllNonDerivedContents(EObject root, boolean includeRoot) {
	/*
	 * We cannot simply use root.eAllContents here since the iterator
	 * will probe for #hasNext on each invocation of #next. This is usually
	 * not a problem but with derived containment, it becomes an issue.
	 * For example, the accessor of XAbstractFeatureCall#getImplicitReceiver uses #getFeature
	 * to initialize itself. This will cause the potential proxy feature
	 * to be resolved which in turn tries to access the mapped proxy URI fragments
	 * in the resource. Now these fragments are currently in the process of being
	 * updated, e.g. there may not even be enough entries. Thus #getFeature
	 * shall not be called here. Long story short, this iterator filters
	 * derived containment features.
	 */
	return new AbstractTreeIterator<EObject>(root, includeRoot) {
		private static final long serialVersionUID = 1L;

		@Override
		public Iterator<EObject> getChildren(Object object) {
			EObject eObject = (EObject) object;
			return getNonDerivedContents(eObject);
		}

	};
}
 
开发者ID:eclipse,项目名称:xtext-core,代码行数:28,代码来源:EcoreUtil2.java

示例2: getAllContentsFiltered

import org.eclipse.emf.common.util.AbstractTreeIterator; //导入依赖的package包/类
/**
 * Returns all content filtered by given predicate. Children of filtered elements are omitted as well. Filtered
 * means that the element does not satisfy the predicate. The given object itself is neither added to the result nor
 * is it tested against the predicate.
 *
 * @param eobj
 *            the root object, may be null
 * @return the tree iterator, may be an empty iterator but never null
 */
public static TreeIterator<EObject> getAllContentsFiltered(EObject eobj, final Predicate<EObject> predicate) {
	if (eobj == null) {
		return emptyTreeIterator();
	}
	return new AbstractTreeIterator<EObject>(eobj, false) {
		private static final long serialVersionUID = 1L;

		@Override
		public Iterator<EObject> getChildren(Object element) {
			return Iterators.filter(((EObject) element).eContents().iterator(), predicate);
		}
	};
}
 
开发者ID:eclipse,项目名称:n4js,代码行数:23,代码来源:EcoreUtilN4.java

示例3: getAllDirectlyFoundContentsOfType

import org.eclipse.emf.common.util.AbstractTreeIterator; //导入依赖的package包/类
/**
 * Returns all content of a given type, ignoring all elements which are not of the given type. This filters out also
 * elements of the given type, if their container has a different type. The given object itself is neither added to
 * the result nor is it tested against the predicate.
 *
 * @param eobj
 *            the root object, may be null
 * @return the tree iterator, may be an empty iterator but never null
 */
@SuppressWarnings("unchecked")
public static <T> TreeIterator<T> getAllDirectlyFoundContentsOfType(EObject eobj, final Class<T> type) {
	if (eobj == null) {
		return emptyTreeIterator();
	}
	return (TreeIterator<T>) new AbstractTreeIterator<EObject>(eobj, false) {
		private static final long serialVersionUID = 1L;

		@Override
		public Iterator<? extends EObject> getChildren(Object element) {
			return (Iterator<? extends EObject>) Iterators.filter(((EObject) element).eContents().iterator(), type);
		}
	};
}
 
开发者ID:eclipse,项目名称:n4js,代码行数:24,代码来源:EcoreUtilN4.java

示例4: getAllLinkableContents

import org.eclipse.emf.common.util.AbstractTreeIterator; //导入依赖的package包/类
/**
 * @since 2.7
 */
@SuppressWarnings("serial")
protected TreeIterator<EObject> getAllLinkableContents(EObject model) {
	return new AbstractTreeIterator<EObject>(model) {
		@Override
		public Iterator<EObject> getChildren(Object object) {
			return ((EObject) object).eContents().iterator();
		}
	};
}
 
开发者ID:eclipse,项目名称:xtext-core,代码行数:13,代码来源:AbstractCleaningLinker.java

示例5: getAllContents

import org.eclipse.emf.common.util.AbstractTreeIterator; //导入依赖的package包/类
public TreeIterator<EObject> getAllContents()
{
  return
    new AbstractTreeIterator<EObject>(this, false)
    {
      private static final long serialVersionUID = 1L;

      @Override
      public Iterator<EObject> getChildren(Object object)
      {
        return object == ResourceImpl.this ? ResourceImpl.this.getContents().iterator() : ((EObject)object).eContents().iterator();
      }
    };
}
 
开发者ID:LangleyStudios,项目名称:eclipse-avro,代码行数:15,代码来源:ResourceImpl.java

示例6: eAllContents

import org.eclipse.emf.common.util.AbstractTreeIterator; //导入依赖的package包/类
public TreeIterator<EObject> eAllContents()
{
  return 
    new AbstractTreeIterator<EObject>(this, false)
    {
      private static final long serialVersionUID = 1L;

      @Override
      public Iterator<EObject> getChildren(Object object)
      {
        return ((EObject)object).eContents().iterator();
      }
    };
}
 
开发者ID:LangleyStudios,项目名称:eclipse-avro,代码行数:15,代码来源:BasicEObjectImpl.java

示例7: getAllNonFragmentingContentsIterator

import org.eclipse.emf.common.util.AbstractTreeIterator; //导入依赖的package包/类
public static TreeIterator<EObject> getAllNonFragmentingContentsIterator(EObject eObject) {
	return new AbstractTreeIterator<EObject>(eObject) {
		private static final long serialVersionUID = 1L;

		@Override
		protected Iterator<? extends EObject> getChildren(Object o) {
			return prepareChildrenList((EObject)o).iterator();
		}			
	};
}
 
开发者ID:markus1978,项目名称:emf-fragments,代码行数:11,代码来源:EMFFragUtil.java


注:本文中的org.eclipse.emf.common.util.AbstractTreeIterator类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。