org.eclipse.xtext.ui.refactoring.impl
Class AbstractReferenceUpdater
java.lang.Object
org.eclipse.xtext.ui.refactoring.impl.AbstractReferenceUpdater
- All Implemented Interfaces:
- IReferenceUpdater
- Direct Known Subclasses:
- DefaultReferenceUpdater, EmfResourceReferenceUpdater
public abstract class AbstractReferenceUpdater
- extends java.lang.Object
- implements IReferenceUpdater
Abstract base class to update the references to renamed elements.
Sorts all references by project and uses a separate resource set for each project to assert proper initialization.
Updates are performed in clusters of 20 (default) referring resources.
- Author:
- Jan Koehnlein - Initial contribution and API, Holger Schill
Method Summary |
protected void |
createClusteredReferenceUpdates(ElementRenameArguments elementRenameArguments,
com.google.common.collect.Multimap<org.eclipse.emf.common.util.URI,IReferenceDescription> resource2references,
org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
IRefactoringUpdateAcceptor updateAcceptor,
StatusWrapper status,
org.eclipse.core.runtime.IProgressMonitor monitor)
|
void |
createReferenceUpdates(ElementRenameArguments elementRenameArguments,
java.lang.Iterable<IReferenceDescription> referenceDescriptions,
IRefactoringUpdateAcceptor updateAcceptor,
org.eclipse.core.runtime.IProgressMonitor monitor)
|
protected abstract void |
createReferenceUpdates(ElementRenameArguments elementRenameArguments,
com.google.common.collect.Multimap<org.eclipse.emf.common.util.URI,IReferenceDescription> resource2references,
org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
IRefactoringUpdateAcceptor updateAcceptor,
org.eclipse.core.runtime.IProgressMonitor monitor)
|
protected void |
createReferenceUpdatesForCluster(ElementRenameArguments elementRenameArguments,
com.google.common.collect.Multimap<org.eclipse.emf.common.util.URI,IReferenceDescription> resource2references,
org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
IRefactoringUpdateAcceptor updateAcceptor,
StatusWrapper status,
org.eclipse.core.runtime.IProgressMonitor monitor)
|
protected int |
getClusterSize()
|
protected void |
handleCannotLoadReferringElement(IReferenceDescription referenceDescription,
StatusWrapper status)
|
protected void |
handleCannotResolveExistingReference(org.eclipse.emf.ecore.EObject sourceEObject,
IReferenceDescription referenceDescription,
StatusWrapper status)
|
protected java.util.List<org.eclipse.emf.common.util.URI> |
loadReferringResources(org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
java.lang.Iterable<org.eclipse.emf.common.util.URI> referringResourceURIs,
StatusWrapper status,
org.eclipse.core.runtime.IProgressMonitor monitor)
|
protected boolean |
loadTargetResources(org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
ElementRenameArguments elementRenameArguments,
StatusWrapper status,
org.eclipse.core.runtime.IProgressMonitor monitor)
|
protected org.eclipse.emf.ecore.EObject |
resolveReference(org.eclipse.emf.ecore.EObject referringElement,
IReferenceDescription referenceDescription)
|
protected java.util.List<IReferenceDescription> |
resolveReferenceProxies(org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
java.util.Collection<IReferenceDescription> values,
StatusWrapper status,
org.eclipse.core.runtime.IProgressMonitor monitor)
|
protected void |
unloadNonTargetResources(org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
java.util.Set<org.eclipse.emf.ecore.resource.Resource> targetResources)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractReferenceUpdater
public AbstractReferenceUpdater()
createReferenceUpdates
public void createReferenceUpdates(ElementRenameArguments elementRenameArguments,
java.lang.Iterable<IReferenceDescription> referenceDescriptions,
IRefactoringUpdateAcceptor updateAcceptor,
org.eclipse.core.runtime.IProgressMonitor monitor)
- Specified by:
createReferenceUpdates
in interface IReferenceUpdater
createClusteredReferenceUpdates
protected void createClusteredReferenceUpdates(ElementRenameArguments elementRenameArguments,
com.google.common.collect.Multimap<org.eclipse.emf.common.util.URI,IReferenceDescription> resource2references,
org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
IRefactoringUpdateAcceptor updateAcceptor,
StatusWrapper status,
org.eclipse.core.runtime.IProgressMonitor monitor)
unloadNonTargetResources
protected void unloadNonTargetResources(org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
java.util.Set<org.eclipse.emf.ecore.resource.Resource> targetResources)
getClusterSize
protected int getClusterSize()
createReferenceUpdatesForCluster
protected void createReferenceUpdatesForCluster(ElementRenameArguments elementRenameArguments,
com.google.common.collect.Multimap<org.eclipse.emf.common.util.URI,IReferenceDescription> resource2references,
org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
IRefactoringUpdateAcceptor updateAcceptor,
StatusWrapper status,
org.eclipse.core.runtime.IProgressMonitor monitor)
resolveReferenceProxies
protected java.util.List<IReferenceDescription> resolveReferenceProxies(org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
java.util.Collection<IReferenceDescription> values,
StatusWrapper status,
org.eclipse.core.runtime.IProgressMonitor monitor)
resolveReference
protected org.eclipse.emf.ecore.EObject resolveReference(org.eclipse.emf.ecore.EObject referringElement,
IReferenceDescription referenceDescription)
handleCannotLoadReferringElement
protected void handleCannotLoadReferringElement(IReferenceDescription referenceDescription,
StatusWrapper status)
handleCannotResolveExistingReference
protected void handleCannotResolveExistingReference(org.eclipse.emf.ecore.EObject sourceEObject,
IReferenceDescription referenceDescription,
StatusWrapper status)
createReferenceUpdates
protected abstract void createReferenceUpdates(ElementRenameArguments elementRenameArguments,
com.google.common.collect.Multimap<org.eclipse.emf.common.util.URI,IReferenceDescription> resource2references,
org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
IRefactoringUpdateAcceptor updateAcceptor,
org.eclipse.core.runtime.IProgressMonitor monitor)
loadTargetResources
protected boolean loadTargetResources(org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
ElementRenameArguments elementRenameArguments,
StatusWrapper status,
org.eclipse.core.runtime.IProgressMonitor monitor)
loadReferringResources
protected java.util.List<org.eclipse.emf.common.util.URI> loadReferringResources(org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
java.lang.Iterable<org.eclipse.emf.common.util.URI> referringResourceURIs,
StatusWrapper status,
org.eclipse.core.runtime.IProgressMonitor monitor)