org.eclipse.team.ui.synchronize

## Class TeamStateProvider

- java.lang.Object
- - org.eclipse.team.ui.synchronize.TeamStateProvider

All Implemented Interfaces:
  ITeamStateProvider

Direct Known Subclasses:
  SubscriberTeamStateProvider

    public abstract class TeamStateProvider
    extends Object
    implements ITeamStateProvider

A team state provider is used by the `SynchronizationStateTester` to obtain the team state for model elements. A team state provider is associated with a `RepositoryProviderType` using the adaptable mechanism. A default team state provider that uses the subscriber of the type is provided.

Clients may subclass this class.

Since:
  3.2
See Also:
  `IAdapterManager`, `RepositoryProviderType`

### Field Summary

### Fields inherited from interface org.eclipse.team.ui.mapping.ITeamStateProvider

`USE_DECORATED_STATE_MASK`

### Constructor Summary

Constructors
Constructor and Description
`TeamStateProvider()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addDecoratedStateChangeListener(ITeamStateChangeListener listener)` Add a decorated state change listener to the provider.
`protected void` `fireStateChangeEvent(ITeamStateChangeEvent event)` Fire the change event to all listeners.
`int` `getDecoratedStateMask(Object element)` Determine the decorated state for the element by consulting the `teamDecorator` extension point to get the decorated state mask associated with the resources the element maps to.
`boolean` `isDecorationEnabled(Object element)` Determine if the decorator for the element is enabled by consulting the `teamDecorator` extension point to determine the decorator id associated with the resources the element maps to.
`void` `removeDecoratedStateChangeListener(ITeamStateChangeListener listener)` Remove the decorated state change listener to the provider.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.team.ui.mapping.ITeamStateProvider

`getDecoratedProperties, getResourceMappingContext, getStateDescription, hasDecoratedState`

### Constructor Detail

#### TeamStateProvider

    public TeamStateProvider()

### Method Detail

#### isDecorationEnabled

    public boolean isDecorationEnabled(Object element)

Determine if the decorator for the element is enabled by consulting the `teamDecorator` extension point to determine the decorator id associated with the resources the element maps to. Subclasses may override.

Specified by:
  `isDecorationEnabled` in interface `ITeamStateProvider`
Parameters:
  `element` - the model element
Returns:
  whether decoration is enabled for the given model element
See Also:
  `ITeamStateProvider.isDecorationEnabled(java.lang.Object)`

#### getDecoratedStateMask

    public int getDecoratedStateMask(Object element)

Determine the decorated state for the element by consulting the `teamDecorator` extension point to get the decorated state mask associated with the resources the element maps to. Subclasses may override.

Specified by:
  `getDecoratedStateMask` in interface `ITeamStateProvider`
Parameters:
  `element` - the model element to be decorated
Returns:
  the mask that indicates what state the appropriate team decorator will decorate
See Also:
  `ITeamStateProvider.getDecoratedStateMask(java.lang.Object)`

#### addDecoratedStateChangeListener

    public void addDecoratedStateChangeListener(ITeamStateChangeListener listener)

Description copied from interface: `ITeamStateProvider`
Add a decorated state change listener to the provider. Adding the same listener more than once has no effect.

Specified by:
  `addDecoratedStateChangeListener` in interface `ITeamStateProvider`
Parameters:
  `listener` - the listener

#### removeDecoratedStateChangeListener

    public void removeDecoratedStateChangeListener(ITeamStateChangeListener listener)

Description copied from interface: `ITeamStateProvider`
Remove the decorated state change listener to the provider. Removing a listener that is not registered has no effect.

Specified by:
  `removeDecoratedStateChangeListener` in interface `ITeamStateProvider`
Parameters:
  `listener` - the listener

#### fireStateChangeEvent

    protected final void fireStateChangeEvent(ITeamStateChangeEvent event)

Fire the change event to all listeners.

Parameters:
  `event` - the change event