public class TreeMergeViewerItemContentProvider extends Object implements IMergeViewerItemContentProvider
IMergeViewerItems which uses their 'left', 'right' and 'ancestor' sides in
 combination with the given AdapterFactory to create the children and parent
 IMergeViewerItems.| Constructor and Description | 
|---|
| TreeMergeViewerItemContentProvider() | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | canHandle(Object object)Indicates whether this provider wants to handle the given  object. | 
| protected List<? extends Diff> | collectAndFilterDifferences(Iterable<Object> objects,
                           IMergeViewerItemProviderConfiguration configuration)Determines the differences related to the given objects and filters them according to the
  visibleContainmentDiffPredicate(IMergeViewerItemProviderConfiguration). | 
| protected IMergeViewerItem | createBasicContainer(ResourceAttachmentChange diff,
                    IMergeViewerItem mergeViewerItem,
                    AdapterFactory adapterFactory)Create an IMergeViewerItem for the parent of the given  ResourceAttachmentChange. | 
| protected List<IMergeViewerItem> | createInsertionPoints(IMergeViewerItem parent,
                     List<IMergeViewerItem> values,
                     List<? extends Diff> differences,
                     IMergeViewerItemProviderConfiguration configuration)Creates and inserts the insertion points for the given  values. | 
| protected List<IMergeViewerItem> | createInsertionPoints(IMergeViewerItem parent,
                     List<Object> sideContent,
                     List<Object> oppositeContent,
                     List<Object> ancestorContent,
                     List<? extends IMergeViewerItem> values,
                     List<? extends Diff> differences,
                     IMergeViewerItemProviderConfiguration configuration)Creates the insertion points for the given  valuesbased on the children of each side. | 
| protected IMergeViewerItem | createMergeViewerItem(Comparison comparison,
                     Diff diff,
                     Match match,
                     IMergeViewer.MergeViewerSide side,
                     AdapterFactory adapterFactory)Creates the  IMergeViewerItemfrom the given data. | 
| protected IMergeViewerItem | createMergeViewerItem(Comparison comparison,
                     Diff diff,
                     Object left,
                     Object right,
                     Object ancestor,
                     IMergeViewer.MergeViewerSide side,
                     AdapterFactory adapterFactory)Creates the  IMergeViewerItemfrom the given data. | 
| protected IMergeViewerItem | createMergeViewerItemFrom(EObject eObject,
                         IMergeViewerItem parent,
                         IMergeViewerItemProviderConfiguration configuration)Creates an IMergeViewerItem from an EObject. | 
| protected List<IMergeViewerItem> | createMergeViewerItemsFrom(Collection<?> values,
                          IMergeViewerItem parent,
                          IMergeViewerItemProviderConfiguration configuration)Creates the Merge Viewer Items for the given  values. | 
| protected Object | getBestSideValue(IMergeViewerItem mergeViewerItem,
                IMergeViewer.MergeViewerSide side)Get a non-null side of the the given  IMergeViewerItem, preferring but not limited to the given
 side. | 
| Object[] | getChildren(Object object,
           IMergeViewerItemProviderConfiguration configuration)Determine the children of the given  object | 
| protected List<Object> | getChildrenFromContentProvider(Object object,
                              AdapterFactory adapterFactory)Adapts to  ITreeItemMergeViewerContentProviderorITreeItemContentProviderand calls
 getChildren. | 
| protected Object | getDiffValue(Diff diff)Determines the value of the given diff. | 
| protected Object | getFirstValue(Iterable<Diff> diffs)Determines the first non-null value of the given diffs. | 
| Object | getParent(Object object,
         IMergeViewerItemProviderConfiguration configuration)Determine the parent of the given  object. | 
| protected Object | getSideValue(IMergeViewerItem mergeViewerItem,
            IMergeViewer.MergeViewerSide side) | 
| protected Iterable<? extends Diff> | getVisibleContainmentDiffs(EObject object,
                          IMergeViewerItemProviderConfiguration configuration)Determines all differences regarding the given  objectwhich are related to a containment
 reference change and are visible in the viewer. | 
| boolean | hasChildren(Object object,
           IMergeViewerItemProviderConfiguration configuration)Indicates whether the given  objecthas children. | 
| protected com.google.common.base.Predicate<Diff> | visibleContainmentDiffPredicate(IMergeViewerItemProviderConfiguration configuration)Predicate for checking if the given  diffis visible and itself (or any of its 'refining' diffs)
 is a containment reference change. | 
| protected com.google.common.base.Predicate<Diff> | visibleInMergeViewerPredicate(com.google.common.base.Predicate<? super EObject> predicate,
                             IDifferenceGroupProvider groupProvider)Predicate for checking if the given  diffis visible in the merge viewer. | 
| protected boolean | yieldsInsertionPoint(IMergeViewerItem parent,
                    Iterable<? extends Diff> diffs,
                    IMergeViewerItemProviderConfiguration configuration)Indicates whether for the given diffs at least one  IMergeViewerIteminsertion point should be
 created. | 
| protected boolean | yieldsMergeViewerItem(Comparison comparison,
                     Diff diff,
                     Collection<?> values)Indicates whether for the given values at least one  IMergeViewerItemshould be created. | 
public boolean canHandle(Object object)
object.canHandle in interface IOptionalProviderobject - the Object.true if the provider wants to handle the given object, false otherwise.public Object getParent(Object object, IMergeViewerItemProviderConfiguration configuration)
object.getParent in interface IMergeViewerItemContentProviderobject - the Object for which the parent is to be determined.configuration - the IMergeViewerItemProviderConfiguration.null if there is none.public boolean hasChildren(Object object, IMergeViewerItemProviderConfiguration configuration)
object has children.hasChildren in interface IMergeViewerItemContentProviderobject - the Object for which it is indicated whether it has children.configuration - the IMergeViewerItemProviderConfiguration.true if the given object has children, false otherwise.public Object[] getChildren(Object object, IMergeViewerItemProviderConfiguration configuration)
objectgetChildren in interface IMergeViewerItemContentProviderobject - the Object for which the children are to be determined.configuration - the IMergeViewerItemProviderConfiguration.protected List<? extends Diff> collectAndFilterDifferences(Iterable<Object> objects, IMergeViewerItemProviderConfiguration configuration)
visibleContainmentDiffPredicate(IMergeViewerItemProviderConfiguration).objects - the objects.configuration - the IMergeViewerItemProviderConfiguration.protected List<IMergeViewerItem> createInsertionPoints(IMergeViewerItem parent, List<IMergeViewerItem> values, List<? extends Diff> differences, IMergeViewerItemProviderConfiguration configuration)
values.parent - the IMergeViewerItem parent.values - the list of IMergeViewerItem children for which insertion points are to be created.differences - the list of relevant differences.configuration - the IMergeViewerItemProviderConfiguration.values containing the created insertion points.protected List<IMergeViewerItem> createInsertionPoints(IMergeViewerItem parent, List<Object> sideContent, List<Object> oppositeContent, List<Object> ancestorContent, List<? extends IMergeViewerItem> values, List<? extends Diff> differences, IMergeViewerItemProviderConfiguration configuration)
values based on the children of each side.parent - the IMergeViewerItem parent.sideContent - the object for 'this' side.oppositeContent - the object for the 'other' side.ancestorContent - the objects for the 'origin' side-values - the IMergeViewerItems for which the insertion points are to be created.differences - the list of relevant differences.configuration - the IMergeViewerItemProviderConfiguration.values containing the created insertion points.protected Object getDiffValue(Diff diff)
diff - the Diff to check.null will be returned.protected Object getFirstValue(Iterable<Diff> diffs)
diffs - the Diffs to check.null otherwise.protected List<Object> getChildrenFromContentProvider(Object object, AdapterFactory adapterFactory)
ITreeItemMergeViewerContentProvider or ITreeItemContentProvider and calls
 getChildren. Also unwraps FeatureMap.Entry.object - The object for which the children are to be determined.object.protected boolean yieldsInsertionPoint(IMergeViewerItem parent, Iterable<? extends Diff> diffs, IMergeViewerItemProviderConfiguration configuration)
IMergeViewerItem insertion point should be
 created.comparison - the Comparison.diffs - the Diffs.configuration - the IMergeViewerItemProviderConfiguration.true if at least one IMergeViewerItem should be created, false
         otherwise.protected boolean yieldsMergeViewerItem(Comparison comparison, Diff diff, Collection<?> values)
IMergeViewerItem should be created.comparison - the Comparison.diff - the Diff.values - the values.true if at least one IMergeViewerItem should be created, false
         otherwise.protected Iterable<? extends Diff> getVisibleContainmentDiffs(EObject object, IMergeViewerItemProviderConfiguration configuration)
object which are related to a containment
 reference change and are visible in the viewer.object - the EObject.configuration - the IMergeViewerItemProviderConfiguration.object related to containment differences.protected Object getBestSideValue(IMergeViewerItem mergeViewerItem, IMergeViewer.MergeViewerSide side)
IMergeViewerItem, preferring but not limited to the given
 side.mergeViewerItem - the IMergeViewerItem.side - IMergeViewer.MergeViewerSideprotected Object getSideValue(IMergeViewerItem mergeViewerItem, IMergeViewer.MergeViewerSide side)
mergeViewerItem - org.eclipse.emf.compare.rcp.ui.mergeviewer.item.ide.ui.internal.contentmergeviewer.IMergeViewerItem#getSideValue(org.eclipse.emf.compare.rcp.ui.mergeviewer.ide.ui.internal.contentmergeviewer.IMergeViewer.MergeViewerSide)protected IMergeViewerItem createBasicContainer(ResourceAttachmentChange diff, IMergeViewerItem mergeViewerItem, AdapterFactory adapterFactory)
ResourceAttachmentChange.diff - the given ResourceAttachmentChange.protected com.google.common.base.Predicate<Diff> visibleContainmentDiffPredicate(IMergeViewerItemProviderConfiguration configuration)
diff is visible and itself (or any of its 'refining' diffs)
 is a containment reference change.configuration - the IMergeViewerItemProviderConfiguration.Predicate.protected com.google.common.base.Predicate<Diff> visibleInMergeViewerPredicate(com.google.common.base.Predicate<? super EObject> predicate, IDifferenceGroupProvider groupProvider)
diff is visible in the merge viewer.predicate - the filtering Predicate.groupProvider - the active IDifferenceGroupProvider.Predicate.protected List<IMergeViewerItem> createMergeViewerItemsFrom(Collection<?> values, IMergeViewerItem parent, IMergeViewerItemProviderConfiguration configuration)
values.values - the object for which IMergeViewerItems shall be created.parent - the IMergeViewerItem parent of the children to createconfiguration - the IMergeViewerItemProviderConfiguration.protected IMergeViewerItem createMergeViewerItemFrom(EObject eObject, IMergeViewerItem parent, IMergeViewerItemProviderConfiguration configuration)
eObject - the given eObject.parent - the IMergeViewerItem parent of the child to create.configuration - the IMergeViewerItemProviderConfiguration.protected IMergeViewerItem createMergeViewerItem(Comparison comparison, Diff diff, Object left, Object right, Object ancestor, IMergeViewer.MergeViewerSide side, AdapterFactory adapterFactory)
IMergeViewerItem from the given data.comparison - the Comparison.diff - the Diff. May be null.left - the left object. May be null. (One of left, right, ancestor should be non-null).right - the right object. May be null. (One of left, right, ancestor should be non-null).ancestor - the ancestor object. May be null. (One of left, right, ancestor should be non-null).side - the IMergeViewer.MergeViewerSide.adapterFactory - the AdapterFactory.IMergeViewerItem.protected IMergeViewerItem createMergeViewerItem(Comparison comparison, Diff diff, Match match, IMergeViewer.MergeViewerSide side, AdapterFactory adapterFactory)
IMergeViewerItem from the given data.comparison - the Comparison.diff - the Diff. May be null.match - the Match.side - the IMergeViewer.MergeViewerSide.adapterFactory - the AdapterFactory.IMergeViewerItem.
Copyright (c) 2006, 2015 Obeo and others. All rights reserved.