Package org.eclipse.jdt.ui

# Class ProblemsLabelDecorator

java.lang.Object
org.eclipse.jdt.ui.ProblemsLabelDecorator

All Implemented Interfaces:
  `IBaseLabelProvider`, `ILabelDecorator`, `ILightweightLabelDecorator`

public class ProblemsLabelDecorator extends Object implements ILabelDecorator, ILightweightLabelDecorator
LabelDecorator that decorates an element's image with error and warning overlays that represent the severity of markers attached to the element's underlying resource. To see a problem decoration for a marker, the marker needs to be a subtype of `IMarker.PROBLEM`.

Important: Although this decorator implements ILightweightLabelDecorator, do not contribute this class as a decorator to the `org.eclipse.ui.decorators` extension. Only use this class in your own views and label providers.

Since:
  2.0

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`ProblemsLabelDecorator.ProblemsLabelChangedEvent`
This is a special `LabelProviderChangedEvent` carrying additional information whether the event origins from a maker change.

## Constructor Summary

Constructors
Constructor
Description
`ProblemsLabelDecorator()`
Creates a new `ProblemsLabelDecorator`.
`ProblemsLabelDecorator(org.eclipse.jdt.internal.ui.viewsupport.ImageDescriptorRegistry registry)`
Note: This constructor is for internal use only.

## Method Summary

Modifier and Type
Method
Description
`void`
`addListener(ILabelProviderListener listener)`
`protected int`
`computeAdornmentFlags(Object obj)`
Computes the adornment flags for the given element.
`void`
`decorate(Object element, IDecoration decoration)`
`Image`
`decorateImage(Image image, Object obj)`
`String`
`decorateText(String text, Object element)`
`void`
`dispose()`
`protected boolean`
`isInside(int pos, ISourceReference sourceElement)`
Tests if a position is inside the source range of an element.
`boolean`
`isLabelProperty(Object element, String property)`
`void`
`removeListener(ILabelProviderListener listener)`

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

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

## Constructor Details

### ProblemsLabelDecorator

public ProblemsLabelDecorator()
Creates a new `ProblemsLabelDecorator`.

### ProblemsLabelDecorator

public ProblemsLabelDecorator(org.eclipse.jdt.internal.ui.viewsupport.ImageDescriptorRegistry registry)
Note: This constructor is for internal use only. Clients should not call this constructor.

Parameters:
  `registry` - The registry to use or `null` to use the Java plugin's image registry
Restriction:
  This constructor is not intended to be referenced by clients.

## Method Details

### decorateText

public String decorateText(String text, Object element)

Specified by:
  `decorateText` in interface `ILabelDecorator`

### decorateImage

public Image decorateImage(Image image, Object obj)

Specified by:
  `decorateImage` in interface `ILabelDecorator`

### computeAdornmentFlags

protected int computeAdornmentFlags(Object obj)
Computes the adornment flags for the given element.

Parameters:
  `obj` - the element to compute the flags for
Returns:
  the adornment flags

### isInside

protected boolean isInside(int pos, ISourceReference sourceElement) throws CoreException
Tests if a position is inside the source range of an element.

Parameters:
  `pos` - Position to be tested.
  `sourceElement` - Source element (must be a IJavaElement)
Returns:
  boolean Return `true` if position is located inside the source element.
Throws:
  `CoreException` - Exception thrown if element range could not be accessed.
Since:
  2.1

### dispose

public void dispose()

Specified by:
  `dispose` in interface `IBaseLabelProvider`

### isLabelProperty

public boolean isLabelProperty(Object element, String property)

Specified by:
  `isLabelProperty` in interface `IBaseLabelProvider`

### addListener

public void addListener(ILabelProviderListener listener)

Specified by:
  `addListener` in interface `IBaseLabelProvider`

### removeListener

public void removeListener(ILabelProviderListener listener)

Specified by:
  `removeListener` in interface `IBaseLabelProvider`

### decorate

public void decorate(Object element, IDecoration decoration)

Specified by:
  `decorate` in interface `ILightweightLabelDecorator`