protected ISelectable getAllDescriptions(final Resource resource) { return cache.get( "internalGetAllDescriptions", resource, new Provider<ISelectable>() { public ISelectable get() { return internalGetAllDescriptions(resource); } }); }
protected List<ImportNormalizer> getImportedNamespaceResolvers( final EObject context, final boolean ignoreCase) { return cache.get( Tuples.create(context, ignoreCase, "imports"), context.eResource(), new Provider<List<ImportNormalizer>>() { public List<ImportNormalizer> get() { return internalGetImportedNamespaceResolvers(context, ignoreCase); } }); }
@Override public IResourceDescription getResourceDescription(final Resource resource) { return cache.get( CACHE_KEY, resource, new Provider<IResourceDescription>() { @Override public IResourceDescription get() { return internalGetResourceDescription(resource, strategy); } }); }
public String getHash(final JvmDeclaredType type) { if (type.eResource() instanceof TypeResource) { IMirror mirror = ((TypeResource) type.eResource()).getMirror(); if (mirror instanceof IMirrorExtension && ((IMirrorExtension) mirror).isSealed()) return type.getIdentifier(); } return cache.get( Tuples.create(HASH_CACHE_KEY, type), type.eResource(), new Provider<String>() { public String get() { return signatureBuilderProvider.get().appendSignature(type).hash(); } }); }
protected LinkedHashSet<URI> getImportedUris(final Resource resource) { return cache.get( ImportUriGlobalScopeProvider.class.getName(), resource, new Provider<LinkedHashSet<URI>>() { public LinkedHashSet<URI> get() { TreeIterator<EObject> iterator = resource.getAllContents(); final LinkedHashSet<URI> uniqueImportURIs = new LinkedHashSet<URI>(10); while (iterator.hasNext()) { EObject object = iterator.next(); String uri = importResolver.apply(object); if (uri != null) { URI importUri = URI.createURI(uri); uniqueImportURIs.add(importUri); } } Iterator<URI> uriIter = uniqueImportURIs.iterator(); while (uriIter.hasNext()) { if (!EcoreUtil2.isValidUri(resource, uriIter.next())) uriIter.remove(); } return uniqueImportURIs; } }); }