Class EMFCompareStructureMergeViewerContentProvider
java.lang.Object
org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider
org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.EMFCompareStructureMergeViewerContentProvider
- All Implemented Interfaces:
org.eclipse.core.runtime.jobs.IJobChangeListener,INotifyChangedListener,org.eclipse.jface.viewers.IContentProvider,org.eclipse.jface.viewers.IStructuredContentProvider,org.eclipse.jface.viewers.ITreeContentProvider,org.eclipse.ui.views.properties.IPropertySourceProvider
public class EMFCompareStructureMergeViewerContentProvider
extends AdapterFactoryContentProvider
implements org.eclipse.core.runtime.jobs.IJobChangeListener
Specialized AdapterFactoryContentProvider for the emf compare structure merge viewer.
This class is not intended to be used outside of its package. It has been set to public for testing purpose only.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumEnum used for better readability of the methodrunWhenReady(CallbackType, Runnable).Nested classes/interfaces inherited from class org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider
AdapterFactoryContentProvider.ViewerRefresh -
Field Summary
Fields inherited from class org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider
adapterFactory, viewer, viewerRefresh -
Constructor Summary
ConstructorsConstructorDescriptionEMFCompareStructureMergeViewerContentProvider(AdapterFactory adapterFactory, org.eclipse.jface.viewers.AbstractTreeViewer viewer) Constructs the content provider with the appropriate adapter factory. -
Method Summary
Modifier and TypeMethodDescriptionvoidaboutToRun(org.eclipse.core.runtime.jobs.IJobChangeEvent event) protected Object[]adaptElementsToCompareInput(Object[] elements) Adapt all of the given elements that are not instances ofPendingUpdateAdapterintoICompareInputfor the emf compare viewers when possible.booleanaddFetchingListener(org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.EMFCompareStructureMergeViewerContentProvider.FetchListener listener) Adds a listener to this content provider.voidawake(org.eclipse.core.runtime.jobs.IJobChangeEvent event) voiddispose()voiddone(org.eclipse.core.runtime.jobs.IJobChangeEvent event) Object[]getChildren(Object element) Object[]getElements(Object element) protected Object[]getRawChildren(Object element) Returns the raw list of children for the given element.booleanhasChildren(Object element) voidnotifyChanged(Notification notification) This implementation specializes the EMF implementation to ensure that if more than 30 notifications arrive, the viewer is simply refreshed rather than processing each update separately.booleanremoveFetchingListener(org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.EMFCompareStructureMergeViewerContentProvider.FetchListener listener) Removes a listener to this content provider.voidrunning(org.eclipse.core.runtime.jobs.IJobChangeEvent event) voidRun the given runnable in the specified thread when then content provider is ready.voidscheduled(org.eclipse.core.runtime.jobs.IJobChangeEvent event) voidsleeping(org.eclipse.core.runtime.jobs.IJobChangeEvent event) Methods inherited from class org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider
createPropertySource, getAdapterFactory, getPropertySource, getViewerRefreshDelay, getViewerRefreshTheshold, inputChanged, setAdapterFactory
-
Constructor Details
-
EMFCompareStructureMergeViewerContentProvider
public EMFCompareStructureMergeViewerContentProvider(AdapterFactory adapterFactory, org.eclipse.jface.viewers.AbstractTreeViewer viewer) Constructs the content provider with the appropriate adapter factory.- Parameters:
adapterFactory- The adapter factory used to construct the content provider.
-
-
Method Details
-
getParent
- Specified by:
getParentin interfaceorg.eclipse.jface.viewers.ITreeContentProvider- Overrides:
getParentin classAdapterFactoryContentProvider- See Also:
-
runWhenReady
public void runWhenReady(EMFCompareStructureMergeViewerContentProvider.CallbackType type, Runnable runnable) Run the given runnable in the specified thread when then content provider is ready. It can be run directly if the content provider is not fecthing or during a callback when the content provider is done fetching.- Parameters:
type- of thread to run theRunnableinside.runnable- to run
-
addFetchingListener
public boolean addFetchingListener(org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.EMFCompareStructureMergeViewerContentProvider.FetchListener listener) Adds a listener to this content provider.- Parameters:
listener- to add- Returns:
-
removeFetchingListener
public boolean removeFetchingListener(org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.EMFCompareStructureMergeViewerContentProvider.FetchListener listener) Removes a listener to this content provider.- Parameters:
listener- to remove- Returns:
-
hasChildren
- Specified by:
hasChildrenin interfaceorg.eclipse.jface.viewers.ITreeContentProvider- Overrides:
hasChildrenin classAdapterFactoryContentProvider- See Also:
-
getChildren
- Specified by:
getChildrenin interfaceorg.eclipse.jface.viewers.ITreeContentProvider- Overrides:
getChildrenin classAdapterFactoryContentProvider- See Also:
-
getRawChildren
Returns the raw list of children for the given element. This array will not be useable by the EMF Compare viewers without prior going throughadaptElementsToCompareInput(Object[]).- Parameters:
element- The element which children we need.- Returns:
- The children of this element.
-
adaptElementsToCompareInput
Adapt all of the given elements that are not instances ofPendingUpdateAdapterintoICompareInputfor the emf compare viewers when possible.- Parameters:
elements- The elements to adapt.- Returns:
- The array of adapted elements.
-
getElements
- Specified by:
getElementsin interfaceorg.eclipse.jface.viewers.IStructuredContentProvider- Specified by:
getElementsin interfaceorg.eclipse.jface.viewers.ITreeContentProvider- Overrides:
getElementsin classAdapterFactoryContentProvider- See Also:
-
dispose
public void dispose()- Specified by:
disposein interfaceorg.eclipse.jface.viewers.IContentProvider- Overrides:
disposein classAdapterFactoryContentProvider- See Also:
-
IContentProvider.dispose()
-
notifyChanged
This implementation specializes the EMF implementation to ensure that if more than 30 notifications arrive, the viewer is simply refreshed rather than processing each update separately. This is especially important for when undo is invoked in editor and there are many things to be undone.- Specified by:
notifyChangedin interfaceINotifyChangedListener- Overrides:
notifyChangedin classAdapterFactoryContentProvider- See Also:
-
IContentProvider.dispose()
-
aboutToRun
public void aboutToRun(org.eclipse.core.runtime.jobs.IJobChangeEvent event) - Specified by:
aboutToRunin interfaceorg.eclipse.core.runtime.jobs.IJobChangeListener
-
awake
public void awake(org.eclipse.core.runtime.jobs.IJobChangeEvent event) - Specified by:
awakein interfaceorg.eclipse.core.runtime.jobs.IJobChangeListener- See Also:
-
IJobChangeListener.awake(IJobChangeEvent)
-
done
public void done(org.eclipse.core.runtime.jobs.IJobChangeEvent event) - Specified by:
donein interfaceorg.eclipse.core.runtime.jobs.IJobChangeListener- See Also:
-
IJobChangeListener.done(IJobChangeEvent)
-
running
public void running(org.eclipse.core.runtime.jobs.IJobChangeEvent event) - Specified by:
runningin interfaceorg.eclipse.core.runtime.jobs.IJobChangeListener- See Also:
-
IJobChangeListener.running(IJobChangeEvent)
-
scheduled
public void scheduled(org.eclipse.core.runtime.jobs.IJobChangeEvent event) - Specified by:
scheduledin interfaceorg.eclipse.core.runtime.jobs.IJobChangeListener- See Also:
-
IJobChangeListener.scheduled(IJobChangeEvent)
-
sleeping
public void sleeping(org.eclipse.core.runtime.jobs.IJobChangeEvent event) - Specified by:
sleepingin interfaceorg.eclipse.core.runtime.jobs.IJobChangeListener- See Also:
-
IJobChangeListener.sleeping(IJobChangeEvent)
-