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
`static class` `ProblemsLabelDecorator.ProblemsLabelChangedEvent` This is a special `LabelProviderChangedEvent` carrying additional information whether the event origins from a maker change.

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`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 Detail

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

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