protected String getUniqueNsPrefix(EPackage ePackage) { if (ePackageToNsPrefixMap.containsKey(ePackage)) { return ePackageToNsPrefixMap.get(ePackage); } else { String nsPrefix = ePackage.getNsPrefix(); String uniqueNsPrefix = nsPrefix; for (int i = 1; ePackageToNsPrefixMap.values().contains(uniqueNsPrefix); ++i) { uniqueNsPrefix = nsPrefix + "_" + i; } ePackageToNsPrefixMap.put(ePackage, uniqueNsPrefix); return uniqueNsPrefix; } }
public String getNSName() { return getEcorePackage().getNsPrefix(); }
protected String getUniqueNsPrefix(EPackage ePackage) { if (ePackageToNsPrefixMap.containsKey(ePackage)) { return ePackageToNsPrefixMap.get(ePackage); } else { String nsPrefix = ePackage.getNsPrefix(); String uniqueNsPrefix = nsPrefix; for (int i = 1; ePackageToNsPrefixMap.values().contains(uniqueNsPrefix); ++i) { uniqueNsPrefix = nsPrefix + "_" + i; } ePackageToNsPrefixMap.put(ePackage, uniqueNsPrefix); return uniqueNsPrefix; } }
public String getPackageID() { return getEcorePackage().getNsPrefix(); }
public String getNSName() { return getEcorePackage().getNsPrefix(); }
public String getPackageID() { return getEcorePackage().getNsPrefix(); }
/** * Register the given EPackage and its descendants. * * @param ePackage * is the root package to register * @param registry * the registry to register the package in . */ private void registerEcorePackageHierarchy(EPackage ePackage, EPackage.Registry registry) { if (ePackage.getNsURI() != null) { // The MTL ecore file mustn't be dynamic!!! // TODO JMU we should use an extension point for the dynamic ecore files we would like to exclude if (!"mtl".equals(ePackage.getNsPrefix()) && !"mtlnonstdlib".equals(ePackage.getNsPrefix()) //$NON-NLS-1$ //$NON-NLS-2$ && !"mtlstdlib".equals(ePackage.getNsPrefix()) && !"oclstdlib".equals(ePackage.getNsPrefix())) { //$NON-NLS-1$ //$NON-NLS-2$ registry.put(ePackage.getNsURI(), ePackage); } } for (EPackage subPackage : ePackage.getESubpackages()) { registerEcorePackageHierarchy(subPackage, registry); } }
public EPackageBundleImpl(final Iterable<? extends EPackage> ePackages) { checkNotNull(ePackages, "Precondition violation - argument 'ePackages' must not be NULL!"); checkArgument(ePackages.iterator().hasNext(), "Precondition violation - argument 'EPackages' must not be empty!"); for (EPackage ePackage : ePackages) { checkNotNull(ePackage.getNsURI(), "Precondition violation - argument 'ePackages' contains an EPackage where 'ePackage.getNsURI()' == NULL!"); checkNotNull(ePackage.getNsPrefix(), "Precondition violation - argument 'ePackages' contains an EPackage where 'ePackage.getNsPrefix()' == NULL!"); checkNotNull(ePackage.getName(), "Precondition violation - argument 'ePackages' contains an EPackage where 'ePackage.getName()' == NULL!"); } EMFUtils.assertEPackagesAreSelfContained(ePackages); // remove duplicates from the epackages Set<EPackage> ePackageSet = Sets.newLinkedHashSet(ePackages); this.ePackages = Collections.unmodifiableList(Lists.newArrayList(ePackageSet)); }
private void managePackage(final File output, final EPackage obj) throws IOException { if(obj.getNsPrefix() != null){ EPackage parent = null; for(String pkgName : obj.getNsPrefix().split("\\.")) { EPackage pkg = EcoreFactory.eINSTANCE.createEPackage(); pkg.setName(pkgName); if(parent != null) { parent.getESubpackages().add(pkg); } parent = pkg; } if(parent != null) { parent.getESubpackages().add(obj); } } for (final EClassifier cls : obj.getEClassifiers()) { manageObject(output, cls); } } }
/** * Registers a new {@link BasicNamespace} from the given {@code ePackage}. * * @param ePackage the {@link EPackage} associated with the namespace * * @return the new namespace */ @Nonnull public BasicNamespace register(EPackage ePackage) { checkNotNull(ePackage, "ePackage"); return register(ePackage.getNsPrefix(), ePackage.getNsURI()).setReal(ePackage); }
@Override public String toString() { String prefix = eStructuralFeature.getEContainingClass().getEPackage().getNsPrefix(); eStructuralFeature.getName(); return (prefix != null && prefix.length() != 0 ? prefix + ":" + eStructuralFeature.getName() : eStructuralFeature.getName()) + "=" + value; /* StringBuffer result = new StringBuffer(super.toString()); result.append(" (feature: "); result.append(eStructuralFeature.getName()); result.append(", value: "); result.append(value); result.append(")"); return result.toString(); */ } }
@Override public String toString() { String prefix = eStructuralFeature.getEContainingClass().getEPackage().getNsPrefix(); eStructuralFeature.getName(); return (prefix != null && prefix.length() != 0 ? prefix + ":" + eStructuralFeature.getName() : eStructuralFeature.getName()) + "=" + value; /* StringBuffer result = new StringBuffer(super.toString()); result.append(" (feature: "); result.append(eStructuralFeature.getName()); result.append(", value: "); result.append(value); result.append(")"); return result.toString(); */ } }
@Override public String toString() { EStructuralFeature eStructuralFeature = getEStructuralFeature(); String prefix = eStructuralFeature.getEContainingClass().getEPackage().getNsPrefix(); eStructuralFeature.getName(); return (prefix != null && prefix.length() != 0 ? prefix + ":" + eStructuralFeature.getName() : eStructuralFeature.getName()) + "=" + getValue(); } }
@Override public String toString() { EStructuralFeature eStructuralFeature = getEStructuralFeature(); String prefix = eStructuralFeature.getEContainingClass().getEPackage().getNsPrefix(); eStructuralFeature.getName(); return (prefix != null && prefix.length() != 0 ? prefix + ":" + eStructuralFeature.getName() : eStructuralFeature.getName()) + "=" + getValue(); } }
@Override public Object casePackage(org.eclipse.uml2.uml.Package package_) { EPackage ePackage = EcoreFactory.eINSTANCE.createEPackage(); elementToEModelElementMap.put(package_, ePackage); if (!packages.contains(package_)) { org.eclipse.uml2.uml.Package nestingPackage = package_ .getNestingPackage(); if (nestingPackage != null) { ((EPackage) doSwitch(nestingPackage)).getESubpackages() .add(ePackage); } } setName(ePackage, package_); if (isEmpty(ePackage.getNsPrefix())) { EPackage eSuperPackage = ePackage.getESuperPackage(); ePackage.setNsPrefix((eSuperPackage == null ? EMPTY_STRING : eSuperPackage.getNsPrefix() + '.') + ePackage.getName()); } if (isEmpty(ePackage.getNsURI())) { ePackage.setNsURI("http:///" //$NON-NLS-1$ + ePackage.getNsPrefix().replace('.', '/') + ".ecore"); //$NON-NLS-1$ } defaultCase(package_); return ePackage; }
/** * Processes a feature and redirects the processing to the associated method according to its type (attribute or * reference). * * @param classifier the classifier representing the feature * * @see #processAttribute(Classifier, EAttribute) * @see #processReference(Classifier, Namespace, EReference, EPackage) */ private void processFeature(Classifier classifier) { // Retrieve the parent EClass EClass parentEClass = classesStack.getLast(); // Gets the EPackage from it EPackage ePackage = parentEClass.getEPackage(); Namespace ns = Namespace.Registry.getInstance().getFromPrefix(ePackage.getNsPrefix()); // Gets the structural feature from the parent, according the its local name (the attr/ref name) EStructuralFeature feature = parentEClass.getEStructuralFeature(classifier.getLocalName()); if (feature instanceof EAttribute) { processAttribute(classifier, (EAttribute) feature); } else if (feature instanceof EReference) { processReference(classifier, ns, (EReference) feature, ePackage); } }
/** * Create a new descriptor for an existing instance of {@link EPackage}. * * @param instance * the instance to use to create the descriptor. * @param converter * the {@link URIConverter} to use to normalize URIs or get input streams. * @param registryToPopulate * the registry to populate. */ LazyEPackageDescriptor(EPackage instance, URIConverter converter, EPackage.Registry registryToPopulate) { this.nsURI = instance.getNsURI(); this.nsPrefix = instance.getNsPrefix(); this.name = instance.getName(); this.resourceURI = converter.normalize(instance.eResource().getURI()); this.alreadyLoaded = Optional.of(instance); this.converter = converter; this.registryToPopulate = registryToPopulate; }
protected void initializeFromLoadedEPackage(EPackage target, EPackage source) { target.setName(source.getName()); target.setNsPrefix(source.getNsPrefix()); target.setNsURI(source.getNsURI()); target.getEClassifiers().addAll(source.getEClassifiers()); target.getEAnnotations().addAll(source.getEAnnotations()); for (EPackage sourceSubpackage : source.getESubpackages()) { EPackage targetSubpackage = EPackage.Registry.INSTANCE.getEPackage(sourceSubpackage.getNsURI()); initializeFromLoadedEPackage(targetSubpackage, sourceSubpackage); target.getESubpackages().add(targetSubpackage); } }
protected void initializeFromLoadedEPackage(EPackage target, EPackage source) { target.setName(source.getName()); target.setNsPrefix(source.getNsPrefix()); target.setNsURI(source.getNsURI()); target.getEClassifiers().addAll(source.getEClassifiers()); target.getEAnnotations().addAll(source.getEAnnotations()); for (EPackage sourceSubpackage : source.getESubpackages()) { EPackage targetSubpackage = EPackage.Registry.INSTANCE.getEPackage(sourceSubpackage.getNsURI()); initializeFromLoadedEPackage(targetSubpackage, sourceSubpackage); target.getESubpackages().add(targetSubpackage); } }
protected void registerEPackages(final Collection<? extends EPackage> ePackages) { checkNotNull(ePackages, "Precondition violation - argument 'ePackages' must not be NULL!"); if (this.chronoSphereInstance != null) { this.chronoSphereInstance.getEPackageManager().registerOrUpdateEPackages(ePackages); } for (EPackage ePackage : EMFUtils.flattenEPackages(ePackages)) { assertNotNull(ePackage.getNsURI()); assertNotNull(ePackage.getNsPrefix()); this.registeredEPackages.put(ePackage.getNsURI(), ePackage); } }