Package org.eclipse.jdt.core

# Interface IRegion

public interface IRegion
A Java model region describes a hierarchical set of elements. Regions are often used to describe a set of elements to be considered when performing operations; for example, the set of elements to be considered during a search. A region may include elements from different projects.

When an element is included in a region, all of its children are considered to be included. Children of an included element cannot be selectively excluded.

Instances can be created via the `JavaCore.newRegion`.

See Also:
  - `JavaCore.newRegion()`
Restriction:
  This interface is not intended to be implemented by clients.

## Method Summary

Modifier and Type
Method
Description
`void`
`add(IJavaElement element)`
Adds the given element and all of its descendents to this region.
`boolean`
`contains(IJavaElement element)`
Returns whether the given element is contained in this region.
`IJavaElement[]`
`getElements()`
Returns the top level elements in this region.
`boolean`
`remove(IJavaElement element)`
Removes the specified element from the region and returns `true` if successful, `false` if the remove fails.

## Method Details

### add

void add(IJavaElement element)
Adds the given element and all of its descendents to this region. If the specified element is already included, or one of its ancestors is already included, this has no effect. If the element being added is an ancestor of an element already contained in this region, the ancestor subsumes the descendent.

Parameters:
  `element` - the given element

### contains

boolean contains(IJavaElement element)
Returns whether the given element is contained in this region.

Parameters:
  `element` - the given element
Returns:
  true if the given element is contained in this region, false otherwise

### getElements

IJavaElement[] getElements()
Returns the top level elements in this region. All descendents of these elements are also included in this region.

Returns:
  the top level elements in this region

### remove

boolean remove(IJavaElement element)
Removes the specified element from the region and returns `true` if successful, `false` if the remove fails. If an ancestor of the given element is included, the remove fails (in other words, it is not possible to selectively exclude descendants of included ancestors).

Parameters:
  `element` - the given element
Returns:
  `true` if successful, `false` if the remove fails