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.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`

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

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

### 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.