类org.eclipse.emf.ecore.ENamedElement源码实例Demo

下面列出了怎么用org.eclipse.emf.ecore.ENamedElement的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: n4js   文件: EcoreUtilN4Test.java
@SuppressWarnings("javadoc")
@Test
public void testGetAllContentsFiltered() {

	EPackage root = epack("root",
			ecl("A"), ecl("B"), edt("C"), //
			epack("notfiltered", ecl("Sub1A"), edt("Sub1C")), //
			ecl("D"), //
			epack("filteredSub", ecl("Sub2A"), ecl("Sub2B"), edt("Sub2C")),
			ecl("E"), edt("F"));
	Iterator<EObject> iter = EcoreUtilN4.getAllContentsFiltered(root, new Predicate<EObject>() {

		@Override
		public boolean apply(EObject input) {
			return !((ENamedElement) input).getName().startsWith("filtered");
		}
	});
	assertEqualsByNames("A,B,C,D,E,F,notfiltered,Sub1A,Sub1C", iter);
}
 
源代码2 项目: n4js   文件: EcoreUtilN4Test.java
@SuppressWarnings("javadoc")
@Test
public void testGetAllContentsFilteredIgnoreRootPredicate() {

	EPackage root = epack("filteredRoot",
			ecl("A"), ecl("B"), edt("C"), //
			epack("notfiltered", ecl("Sub1A"), edt("Sub1C")), //
			ecl("D"), //
			epack("filtered", ecl("Sub2A"), ecl("Sub2B"), edt("Sub2C")),
			ecl("E"), edt("F"));
	Iterator<EObject> iter = EcoreUtilN4.getAllContentsFiltered(root, new Predicate<EObject>() {

		@Override
		public boolean apply(EObject input) {
			return !((ENamedElement) input).getName().startsWith("filtered");
		}
	});
	assertEqualsByNames("A,B,C,D,E,F,notfiltered,Sub1A,Sub1C", iter);
}
 
源代码3 项目: n4js   文件: EcoreUtilN4Test.java
@SuppressWarnings("javadoc")
@Test
public void testGetAllContentsFilteredNoMatch() {

	EPackage root = epack("root",
			epack("filteredSub1", ecl("Sub1A"), edt("Sub1C")), //
			epack("filteredSub2", ecl("Sub2A"), ecl("Sub2B"), edt("Sub2C"))
			);
	Iterator<EObject> iter = EcoreUtilN4.getAllContentsFiltered(root, new Predicate<EObject>() {

		@Override
		public boolean apply(EObject input) {
			return !((ENamedElement) input).getName().startsWith("filtered");
		}
	});
	assertEqualsByNames("", iter);
}
 
@Test public void testPerformance() throws Exception {
		GenericResourceDescriptionManager manager = getEmfResourceDescriptionsManager();
		Collection<String> uris = ImmutableList.copyOf(EPackage.Registry.INSTANCE.keySet());
		for(String uri: uris) {
			EPackage pack = EPackage.Registry.INSTANCE.getEPackage(uri);
			IResourceDescription description = manager.getResourceDescription(pack.eResource());
			assertNotNull(description);
			for(int i = 0; i < 10; i++) {
				Iterator<EObject> iter = EcoreUtil.getAllProperContents(pack, true);
				while(iter.hasNext()) {
					EObject next = iter.next();
					if (next instanceof ENamedElement) {
						String name = ((ENamedElement) next).getName();
//						Iterable<IEObjectDescription> objects = 
						description.getExportedObjects(EcorePackage.Literals.EOBJECT, QualifiedName.create(name), false);
//						assertFalse(name + " - " + uri + " - " + next, Iterables.isEmpty(objects));
					}
				}
			}
		}
	}
 
源代码5 项目: xtext-xtend   文件: Case_9.java
protected CharSequence _generateTypeRef(final ENamedElement c) {
  CharSequence _xifexpression = null;
  EObject _eContainer = c.eContainer();
  boolean _tripleNotEquals = (_eContainer != null);
  if (_tripleNotEquals) {
    _xifexpression = this.generateTypeRef(c.eContainer());
  } else {
    CharSequence _xifexpression_1 = null;
    boolean _eIsProxy = c.eIsProxy();
    if (_eIsProxy) {
      StringConcatenation _builder = new StringConcatenation();
      String _name = c.getName();
      _builder.append(_name);
      _xifexpression_1 = _builder;
    } else {
      StringConcatenation _builder_1 = new StringConcatenation();
      _xifexpression_1 = _builder_1;
    }
    _xifexpression = _xifexpression_1;
  }
  return _xifexpression;
}
 
源代码6 项目: xtext-core   文件: XtextValidator.java
public void createMessageForNameClashes(Multimap<String, ENamedElement> nameToElement) {
	for(Entry<String, Collection<ENamedElement>> entry: nameToElement.asMap().entrySet()) {
		if (entry.getValue().size() > 1) {
			if (!Iterables.isEmpty(Iterables.filter(entry.getValue(), EStructuralFeature.class))
					&&!Iterables.isEmpty(Iterables.filter(entry.getValue(), EClassifier.class))) {
				String constantName = entry.getKey();
				String message = "Name clash in generated code: '" + constantName + "'.";
				for(ENamedElement element: entry.getValue()) {
					String myMessage = message;
					if (element.getName().indexOf('_') >= 0) {
						myMessage = myMessage + " Try to avoid underscores in names to prevent conflicts.";
					}
					createMessageForSource(myMessage, null, Diagnostic.ERROR, element, getMessageAcceptor());
				}
			}
		}
	}
}
 
源代码7 项目: xtext-core   文件: Formatter2Fragment2.java
protected String toVarName(final ENamedElement element, final String... reservedNames) {
  String _xblockexpression = null;
  {
    if ((element instanceof EReference)) {
      return this.toVarName(((EReference)element).getEReferenceType(), reservedNames);
    }
    String name = StringExtensions.toFirstLower(element.getName());
    boolean _contains = XtendFileAccess.XTEND_KEYWORDS.contains(name);
    if (_contains) {
      name = ("_" + name);
    }
    boolean _contains_1 = ArrayExtensions.contains(reservedNames, name);
    if (_contains_1) {
      name = ("_" + name);
    }
    _xblockexpression = name;
  }
  return _xblockexpression;
}
 
@SuppressWarnings("deprecation")
@Test public void testCreatedErrors_03() {
	maxCallCount = 0;
	ImmutableList<ENamedElement> elements = ImmutableList.of(
			createEClass(),
			createEDataType(),
			createEPackage()
	);
	for(ENamedElement classifier: elements) {
		classifier.setName("Same");
	}
	expected.addAll(elements.subList(0, 2));
	helper.checkUniqueNames(
			Scopes.scopedElementsFor(elements), 
			this, this);
	assertEquals(elements.size(), callCount);
	assertTrue(expected.isEmpty());
}
 
@Test public void testCreatedErrors_03_context() {
	maxCallCount = 0;
	ImmutableList<ENamedElement> elements = ImmutableList.of(
			createEClass(),
			createEDataType(),
			createEPackage()
	);
	for(ENamedElement classifier: elements) {
		classifier.setName("Same");
	}
	expected.addAll(elements.subList(0, 2));
	helper.checkUniqueNames(
			new LocalUniqueNameContext(elements, this), this);
	assertEquals(elements.size(), callCount);
	assertTrue(expected.isEmpty());
}
 
@SuppressWarnings("deprecation")
@Test public void testCreatedErrors_04() {
	maxCallCount = 0;
	ImmutableList<ENamedElement> elements = ImmutableList.of(
			createEClass(),
			createEDataType(),
			createEPackage(),
			createEPackage()
	);
	for(ENamedElement classifier: elements) {
		classifier.setName("Same");
	}
	expected.addAll(elements);
	helper.checkUniqueNames(
			Scopes.scopedElementsFor(elements), 
			this, this);
	assertEquals(elements.size(), callCount);
	assertTrue(expected.isEmpty());
}
 
@Test public void testCreatedErrors_04_context() {
	maxCallCount = 0;
	ImmutableList<ENamedElement> elements = ImmutableList.of(
			createEClass(),
			createEDataType(),
			createEPackage(),
			createEPackage()
			);
	for(ENamedElement classifier: elements) {
		classifier.setName("Same");
	}
	expected.addAll(elements);
	helper.checkUniqueNames(
			new LocalUniqueNameContext(elements, this), this);
	assertEquals(elements.size(), callCount);
	assertTrue(expected.isEmpty());
}
 
@SuppressWarnings("deprecation")
@Test public void testCreatedErrors_05() {
	maxCallCount = 0;
	ImmutableList<ENamedElement> elements = ImmutableList.of(
			createEPackage(),
			createEDataType(),
			createEPackage()
	);
	for(ENamedElement classifier: elements) {
		classifier.setName("Same");
	}
	expected.add(elements.get(0));
	expected.add(elements.get(2));
	helper.checkUniqueNames(
			Scopes.scopedElementsFor(elements), 
			this, this);
	assertEquals(elements.size(), callCount);
	assertTrue(expected.isEmpty());
}
 
@Test public void testCreatedErrors_05_context() {
	maxCallCount = 0;
	ImmutableList<ENamedElement> elements = ImmutableList.of(
			createEPackage(),
			createEDataType(),
			createEPackage()
			);
	for(ENamedElement classifier: elements) {
		classifier.setName("Same");
	}
	expected.add(elements.get(0));
	expected.add(elements.get(2));
	helper.checkUniqueNames(
			new LocalUniqueNameContext(elements, this), this);
	assertEquals(elements.size(), callCount);
	assertTrue(expected.isEmpty());
}
 
@SuppressWarnings("deprecation")
@Test public void testCreatedErrors_06() {
	maxCallCount = 1;
	ImmutableList<ENamedElement> elements = ImmutableList.of(
			createEPackage(),
			createEDataType(),
			createEPackage()
	);
	for(ENamedElement classifier: elements) {
		classifier.setName("Same");
	}
	try {
		helper.checkUniqueNames(
				Scopes.scopedElementsFor(elements), 
				this, this);
		fail("cancellation expected");
	} catch (OperationCanceledError e) {
	}
	assertEquals(1, callCount);
}
 
@Test public void testCreatedErrors_06_context() {
	maxCallCount = 1;
	ImmutableList<ENamedElement> elements = ImmutableList.of(
			createEPackage(),
			createEDataType(),
			createEPackage()
			);
	for(ENamedElement classifier: elements) {
		classifier.setName("Same");
	}
	try {
		helper.checkUniqueNames(
				new LocalUniqueNameContext(elements, this), this);
		fail("cancellation expected");
	} catch (OperationCanceledError e) {
	}
	assertEquals(1, callCount);
}
 
@SuppressWarnings("deprecation")
@Test public void testCreatedErrors_07() {
	maxCallCount = 0;
	ImmutableList<ENamedElement> elements = ImmutableList.of(
			createEPackage(),
			createEDataType(),
			EcoreFactory.eINSTANCE.createEEnumLiteral()
	);
	for(ENamedElement classifier: elements) {
		classifier.setName("Same");
	}
	expected.add(elements.get(0));
	expected.add(elements.get(2));
	helper.checkUniqueNames(
			Scopes.scopedElementsFor(elements), 
			this, this);
	assertEquals(elements.size(), callCount);
	assertTrue(expected.isEmpty());
}
 
@Test public void testCreatedErrors_07_context() {
	maxCallCount = 0;
	ImmutableList<ENamedElement> elements = ImmutableList.of(
			createEPackage(),
			createEDataType(),
			EcoreFactory.eINSTANCE.createEEnumLiteral()
			);
	for(ENamedElement classifier: elements) {
		classifier.setName("Same");
	}
	expected.add(elements.get(0));
	expected.add(elements.get(2));
	helper.checkUniqueNames(
			new LocalUniqueNameContext(elements, this), this);
	assertEquals(elements.size(), callCount);
	assertTrue(expected.isEmpty());
}
 
@SuppressWarnings("deprecation")
@Test public void testManyManyDup() {
	List<ENamedElement> elements = new ArrayList<>();
	for(int i = 0, j = 0; i < MANY; i++) {
		if (i % 100 == 0) {
			j++;
		}
		EClass c = createEClass();
		c.setName("i" + j);
		elements.add(c);
	}
	maxCallCount = 0;
	expected.addAll(elements);
	helper.checkUniqueNames(
			Scopes.scopedElementsFor(elements), 
			this, this);
}
 
@Before
public void setUp() throws Exception {
	EObject copy = EcoreUtil.copy(EcorePackage.eINSTANCE);
	resource = new ResourceImpl();
	resource.getContents().add(copy);
	IQualifiedNameProvider nameProvider = new IQualifiedNameProvider.AbstractImpl() {
		@Override
		public QualifiedName getFullyQualifiedName(EObject obj) {
			if (obj instanceof ENamedElement)
				return QualifiedName.create(((ENamedElement) obj).getName());
			return null;
		}
	};
	DefaultResourceDescriptionStrategy descriptionStrategy = new DefaultResourceDescriptionStrategy();
	descriptionStrategy.setQualifiedNameProvider(nameProvider);
	resourceDescription = new DefaultResourceDescription(resource, descriptionStrategy) {
		@Override
		public Iterable<QualifiedName> getImportedNames() {
			return importedNames;
		}
	};
	manager = new DefaultResourceDescriptionManager();
	importedNames = Collections.emptySet();
}
 
@Before
public void setUp() throws Exception {
	resourceSet = new ResourceSetImpl();
	IQualifiedNameProvider qualifiedNameProvider = new IQualifiedNameProvider.AbstractImpl() {
		
		@Override
		public QualifiedName getFullyQualifiedName(EObject obj) {
			return QualifiedName.create(((ENamedElement) obj).getName());
		}

		@Override
		public QualifiedName apply(EObject from) {
			return QualifiedName.create(((ENamedElement) from).getName());
		}
		
	};
	resourceDescriptionManager = new DefaultResourceDescriptionManager();
	resourceDescriptionManager.setCache(IResourceScopeCache.NullImpl.INSTANCE);
	DefaultResourceDescriptionStrategy strategy = new DefaultResourceDescriptionStrategy();
	strategy.setQualifiedNameProvider(qualifiedNameProvider);
	resourceDescriptionManager.setStrategy(strategy);
	resDescs = new ResourceSetBasedResourceDescriptions();
	resDescs.setContext(resourceSet);
	resDescs.setRegistry(this);
	container = new ResourceDescriptionsBasedContainer(resDescs);
}
 
@Test public void testOneElement_Match() {
	QualifiedName qualifiedName = QualifiedName.create("SomeName");
	EClass type = EcorePackage.Literals.EPACKAGE;
	Resource resource = createResource();
	ENamedElement element = createNamedElement(qualifiedName, type, resource);
	Iterable<IEObjectDescription> iterable = container.getExportedObjectsByType(EcorePackage.Literals.EPACKAGE);
	assertSame(element, Iterables.getOnlyElement(iterable).getEObjectOrProxy());
	iterable = container.getExportedObjectsByType(EcorePackage.Literals.EOBJECT);
	assertSame(element, Iterables.getOnlyElement(iterable).getEObjectOrProxy());
	iterable = container.getExportedObjects(EcorePackage.Literals.EPACKAGE, qualifiedName, false);
	assertSame(element, Iterables.getOnlyElement(iterable).getEObjectOrProxy());
	iterable = container.getExportedObjects(EcorePackage.Literals.ENAMED_ELEMENT, qualifiedName, false);
	assertSame(element, Iterables.getOnlyElement(iterable).getEObjectOrProxy());
	iterable = container.getExportedObjects(EcorePackage.Literals.EOBJECT, qualifiedName, false);
	assertSame(element, Iterables.getOnlyElement(iterable).getEObjectOrProxy());
}
 
@Test public void testTwoElements_OneMatch() {
	QualifiedName qualifiedName = QualifiedName.create("SomeName");
	EClass type = EcorePackage.Literals.EPACKAGE;
	Resource resource = createResource();
	ENamedElement element = createNamedElement(qualifiedName, type, resource);
	ENamedElement other = createNamedElement(null, EcorePackage.Literals.ECLASS, resource);
	Iterable<IEObjectDescription> iterable = container.getExportedObjectsByType(EcorePackage.Literals.EPACKAGE);
	assertSame(element, Iterables.getOnlyElement(iterable).getEObjectOrProxy());
	iterable = container.getExportedObjectsByType(EcorePackage.Literals.ECLASSIFIER);
	assertSame(other, Iterables.getOnlyElement(iterable).getEObjectOrProxy());
	iterable = container.getExportedObjects(EcorePackage.Literals.EPACKAGE, qualifiedName, false);
	assertSame(element, Iterables.getOnlyElement(iterable).getEObjectOrProxy());
	iterable = container.getExportedObjects(EcorePackage.Literals.ENAMED_ELEMENT, qualifiedName, false);
	assertSame(element, Iterables.getOnlyElement(iterable).getEObjectOrProxy());
	iterable = container.getExportedObjects(EcorePackage.Literals.EOBJECT, qualifiedName, false);
	assertSame(element, Iterables.getOnlyElement(iterable).getEObjectOrProxy());
}
 
源代码23 项目: dsl-devkit   文件: AbstractLabelingTest.java
/**
 * Tests that the expected elements and their labels are exactly identical to all elements of the default test resource.
 */
@Test
public void testLabels() {
  if (getExpectedElementLabels() == null) {
    return; // TODO: remove this check once all tests have been refactored
  }
  for (Pair<ENamedElement, String> elementLabel : getExpectedElementLabels()) {
    if (elementLabel.getFirst() instanceof EClass) {
      // TODO: remove this once all tests have been refactored
      assertHasLabel(((EClass) elementLabel.getFirst()).getInstanceClass(), elementLabel.getSecond());
    } else {
      assertHasLabel(elementLabel.getFirst(), elementLabel.getSecond());
    }
  }
  // assertLabelMapConsistsOf(getExpectedElementLabels()); // TODO : revisit and enable this once all tests have been refactored
}
 
源代码24 项目: n4js   文件: GrammarPrettyPrinter.java
@Override
protected String getCrossReferenceNameFromScope(EObject semanticObject, CrossReference crossref,
		EObject target, IScope scope, Acceptor errors) {
	if (target instanceof AbstractRule) {
		return ((AbstractRule) target).getName();
	}
	if (target instanceof ENamedElement) {
		return ((ENamedElement) target).getName();
	}
	return super.getCrossReferenceNameFromScope(semanticObject, crossref, target, scope, errors);
}
 
源代码25 项目: n4js   文件: OrderedEmfFormatter.java
private static void refToStr(EObject obj, EReference ref, String indent, Appendable buf) throws Exception {
	Object o = obj.eGet(ref);
	if (o instanceof EObject) {
		EObject eo = (EObject) o;

		if (eo instanceof ENamedElement)
			buf.append("'").append(((ENamedElement) eo).getName()).append("' ");
		buf.append("ref: ");
		getURI(obj, eo, buf);
		return;
	}
	if (o instanceof Collection<?>) {
		String innerIndent = indent + INDENT;
		buf.append("[");
		int counter = 0;
		Collection<?> coll = (Collection<?>) o;
		for (Iterator<?> i = coll.iterator(); i.hasNext();) {
			Object item = i.next();
			if (counter == 0)
				buf.append('\n');
			buf.append(innerIndent);
			printInt(counter++, coll.size(), buf);
			buf.append(": ");
			getURI(obj, (EObject) item, buf);
			if (i.hasNext())
				buf.append(",\n");
			else
				buf.append('\n').append(indent);
		}
		buf.append("]");
		return;
	}
	buf.append("?????");
}
 
源代码26 项目: n4js   文件: EcoreUtilN4Test.java
@SuppressWarnings("javadoc")
@Test
public void testGetAllContentsFilteredEmpty() {

	EPackage root = epack("root");
	Iterator<EObject> iter = EcoreUtilN4.getAllContentsFiltered(root, new Predicate<EObject>() {

		@Override
		public boolean apply(EObject input) {
			return !((ENamedElement) input).getName().startsWith("filtered");
		}
	});
	assertEqualsByNames("", iter);
}
 
源代码27 项目: uima-uimaj   文件: Ecore2UimaTypeSystem.java
/**
 * Contains named element.
 *
 * @param locallyDefinedFeatures the locally defined features
 * @param name the name
 * @return true, if successful
 */
private static boolean containsNamedElement(EList locallyDefinedFeatures, String name) {
  Iterator iter = locallyDefinedFeatures.iterator();
  while (iter.hasNext()) {
    Object obj = iter.next();
    if (obj instanceof ENamedElement) {
      if (name.equals(((ENamedElement) obj).getName())) {
        return true;
      }
    }
  }
  return false;
}
 
源代码28 项目: n4js   文件: ProjectStatePersister.java
private ENamedElement readEcoreElement(DataInput input) throws IOException {
	URI uri = URI.createURI(input.readUTF());
	EPackage ePackage = EPackage.Registry.INSTANCE.getEPackage(uri.trimFragment().toString());
	if (ePackage != null) {
		Resource resource = ePackage.eResource();
		return (ENamedElement) resource.getEObject(uri.fragment());
	}
	return null;
}
 
源代码29 项目: xtext-eclipse   文件: EmfResourceRenameStrategy.java
@Override
protected EAttribute getNameAttribute(EObject targetElement) {
	if (targetElement instanceof ENamedElement) {
		return EcorePackage.Literals.ENAMED_ELEMENT__NAME;
	}
	return null;
}
 
源代码30 项目: xtext-xtend   文件: InferredJvmModelTest.java
protected void testDispatchFunction_03_impl(boolean validation) throws Exception {
	XtendFile xtendFile = file(
			"class Dispatcher {\n" + 
			"	def dispatch doStuff(org.eclipse.emf.ecore.EClass model) {\n" + 
			"		model.ETypeParameters.map(e|doStuff(e))\n" + 
			"	}\n" + 
			"	def dispatch doStuff(org.eclipse.emf.ecore.EPackage packageDecl) {\n" + 
			"		packageDecl.EClassifiers.map(e|doStuff(e))\n" + 
			"	}\n" + 
			"	def dispatch doStuff(org.eclipse.emf.ecore.EStructuralFeature feature) {\n" + 
			"		newArrayList(feature)\n" + 
			"	}\n" + 
			"}", validation);
	
	JvmGenericType inferredType = getInferredType(xtendFile);
	
	// one main dispatch
	Iterable<JvmOperation> operations = inferredType.getDeclaredOperations();
	JvmOperation dispatch = findByNameAndFirstParameterType(operations, "doStuff", ENamedElement.class);
	// TODO ultimately this should be List<? extends NamedElement>
	assertEquals("java.util.List<? extends java.lang.Object>", dispatch.getReturnType().getIdentifier());

	// three internal case methods
	JvmOperation eClassParam = findByNameAndFirstParameterType(operations, "_doStuff", EClass.class);
	assertEquals("java.util.List<? extends java.lang.Object>", eClassParam.getReturnType().getIdentifier());
	
	JvmOperation ePackageParam = findByNameAndFirstParameterType(operations, "_doStuff", EPackage.class);
	assertEquals("java.util.List<? extends java.lang.Object>", ePackageParam.getReturnType().getIdentifier());
	
	JvmOperation eStructuralFeatureParam = findByNameAndFirstParameterType(operations, "_doStuff", EStructuralFeature.class);
	assertEquals("java.util.List<? extends java.lang.Object>", eStructuralFeatureParam.getReturnType().getIdentifier());
}
 
 类所在包
 类方法
 同包方法