# Interface ITeamStateChangeEvent

All Known Implementing Classes:
  `TeamStateChangeEvent`

public interface ITeamStateChangeEvent
A description of the team state changes that have occurred. This event indicates the resources for which the team state may have changed. However, it may be the case that the state did not actually change. Clients that wish to determine if the state ha changed must cache the previous state and re-obtain the state when they receive this event. Also, the event may not include team state changes that resulted from local changes. Clients should listen for resource changes as well.

This interface is not intended to be implemented by clients. Clients should instead use `TeamStateChangeEvent`.

Since:
  3.2
See Also:
  - `ITeamStateChangeListener`
  - `ITeamStateProvider`
  - `TeamStateChangeEvent`

## Method Summary

Modifier and Type
Method
Description
`IResource[]`
`getAddedRoots()`
Return the set of resources that were previously undecorated but are now decorated.
`IResource[]`
`getChangedResources()`
Return the set of resources whose decorated state has changed.
`IResource[]`
`getRemovedRoots()`
Return the set of resources that were previously decorated but are now undecorated.
`boolean`
`hasChange(IResource resource)`
Return whether the resource has any state changes.

## Method Details

### getAddedRoots

IResource[] getAddedRoots()
Return the set of resources that were previously undecorated but are now decorated.

Returns:
  the set of resources that were previously undecorated but are now decorated.

### getRemovedRoots

IResource[] getRemovedRoots()
Return the set of resources that were previously decorated but are now undecorated.

Returns:
  the set of resources that were previously decorated but are now undecorated.

### getChangedResources

IResource[] getChangedResources()
Return the set of resources whose decorated state has changed.

Returns:
  the set of resources whose decorated state has changed.

### hasChange

boolean hasChange(IResource resource)
Return whether the resource has any state changes. This returns `true` if the resource is included in the set of changes returned by `getChangedResources()` or if it is a descendant of a root that is present in a set returned by `getAddedRoots()` or `getRemovedRoots()`.

Parameters:
  `resource` - the resource
Returns:
  whether the resource has any state changes