Package org.eclipse.team.ui.synchronize

## Interface ISynchronizeModelElement

All Superinterfaces:
  `ICompareInput`, `IDiffContainer`, `IDiffElement`, `ITypedElement`

    public interface ISynchronizeModelElement
    extends IDiffContainer, ITypedElement, ICompareInput

These are elements created to display synchronization state to the user. These elements are found in the generated diff tree viewer created by a `SubscriberParticipant`. Since it implements `ITypedElement` and `ICompareInput` they can be used as input to compare components.

Clients typically use this interface as is, but may implement it if required.

Since:
  3.0

### Field Summary

Fields
`static String` `BUSY_PROPERTY` Property constant indicating that the element is currently being worked on by an operation.
`static String` `PROPAGATED_CONFLICT_PROPERTY` Property constant indicating that the element has children that are conflicting.
`static String` `PROPAGATED_ERROR_MARKER_PROPERTY` Property constant identifying that this element or one of its children has an error marker.
`static String` `PROPAGATED_WARNING_MARKER_PROPERTY` Property constant indicating that this element or one of its children has a warning marker.

### Fields inherited from interface org.eclipse.compare.ITypedElement

`FOLDER_TYPE, TEXT_TYPE, UNKNOWN_TYPE`

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `addPropertyChangeListener​(IPropertyChangeListener listener)` Adds a listener for changes to properties of this synchronize element.
`ImageDescriptor` `getImageDescriptor​(Object element)` The image descriptor describing the given element.
`boolean` `getProperty​(String propertyName)` Return whether this element has the given property assigned.
`IResource` `getResource()` Returns the resource this element is showing synchronization information for or `null` if the element does not have an associated local resource.
`void` `removePropertyChangeListener​(IPropertyChangeListener listener)` Removes the given property change listener from this model element.
`void` `setProperty​(String propertyName, boolean value)` Assigns the given property to this element.
`void` `setPropertyToRoot​(String propertyName, boolean value)` Assigns the given property to this element and all it's parents.

### Methods inherited from interface org.eclipse.compare.structuremergeviewer.ICompareInput

`addCompareInputChangeListener, copy, getAncestor, getImage, getKind, getLeft, getName, getRight, removeCompareInputChangeListener`

### Methods inherited from interface org.eclipse.compare.structuremergeviewer.IDiffContainer

`add, getChildren, hasChildren, removeToRoot`

### Methods inherited from interface org.eclipse.compare.structuremergeviewer.IDiffElement

`getKind, getParent, setParent`

### Methods inherited from interface org.eclipse.compare.ITypedElement

`getImage, getName, getType`

### Field Detail

#### BUSY_PROPERTY

    static final String BUSY_PROPERTY

Property constant indicating that the element is currently being worked on by an operation.

See Also:
  Constant Field Values

#### PROPAGATED_CONFLICT_PROPERTY

    static final String PROPAGATED_CONFLICT_PROPERTY

Property constant indicating that the element has children that are conflicting.

See Also:
  Constant Field Values

#### PROPAGATED_ERROR_MARKER_PROPERTY

    static final String PROPAGATED_ERROR_MARKER_PROPERTY

Property constant identifying that this element or one of its children has an error marker.

See Also:
  Constant Field Values

#### PROPAGATED_WARNING_MARKER_PROPERTY

    static final String PROPAGATED_WARNING_MARKER_PROPERTY

Property constant indicating that this element or one of its children has a warning marker.

See Also:
  Constant Field Values

### Method Detail

#### addPropertyChangeListener

    void addPropertyChangeListener​(IPropertyChangeListener listener)

Adds a listener for changes to properties of this synchronize element. Has no effect if an identical listener is already registered.

Parameters:
  `listener` - the listener to register

#### removePropertyChangeListener

    void removePropertyChangeListener​(IPropertyChangeListener listener)

Removes the given property change listener from this model element. Has no effect if the listener is not registered.

Parameters:
  `listener` - the listener to remove

#### setPropertyToRoot

    void setPropertyToRoot​(String propertyName,
                           boolean value)

Assigns the given property to this element and all it's parents.

Parameters:
  `propertyName` - the property name to set
  `value` - the value of the property

#### setProperty

    void setProperty​(String propertyName,
                     boolean value)

Assigns the given property to this element.

Parameters:
  `propertyName` - the property name
  `value` - the value of the property.

#### getProperty

    boolean getProperty​(String propertyName)

Return whether this element has the given property assigned.

Parameters:
  `propertyName` - the property to test for
Returns:
  `true` if the property is set and `false` otherwise.

#### getImageDescriptor

    ImageDescriptor getImageDescriptor​(Object element)

The image descriptor describing the given element.

Parameters:
  `element` - the model element for which to return an image.
Returns:
  the image descriptor for the given element.

#### getResource

    IResource getResource()

Returns the resource this element is showing synchronization information for or `null` if the element does not have an associated local resource.

Returns:
  the resource this element is showing synchronization information for or `null` if the element does not have an associated local resource.