Package 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
Description
`TeamStateProvider()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addDecoratedStateChangeListener(ITeamStateChangeListener listener)`
Add a decorated state change listener to the provider.
`protected final 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 Details

### TeamStateProvider

public TeamStateProvider()

## Method Details

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