Package org.eclipse.jdt.ui.text.folding

## Interface IJavaFoldingStructureProvider

All Known Implementing Classes:
  `DefaultJavaFoldingStructureProvider`

    public interface IJavaFoldingStructureProvider

Contributors to the `org.eclipse.jdt.ui.foldingStructureProvider` extension point must specify an implementation of this interface which will create and maintain `ProjectionAnnotation` objects that define folded regions in the `ProjectionViewer`.

Clients may implement this interface.

In order to provide backward compatibility for clients of `IJavaFoldingStructureProvider`, extension interfaces are used to provide a means of evolution. The following extension interfaces exist:

- `IJavaFoldingStructureProviderExtension` since version 3.2 introducing the following functions:
  - collapsing of comments and members
  - expanding and collapsing of certain java elements

Since:
  3.0

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `initialize()` (Re-)initializes the structure provided by the receiver.
`void` `install​(ITextEditor editor, ProjectionViewer viewer)` Installs this structure provider on the given editor and viewer.
`void` `uninstall()` Uninstalls this structure provider.

### Method Detail

#### install

    void install​(ITextEditor editor,
                 ProjectionViewer viewer)

Installs this structure provider on the given editor and viewer. Implementations should listen to the projection events generated by `viewer` and enable / disable generation of projection structure accordingly.

Parameters:
  `editor` - the editor that this provider works on
  `viewer` - the projection viewer that displays the annotations created by this structure provider

#### uninstall

    void uninstall()

Uninstalls this structure provider. Any references to editors or viewers should be cleared.

#### initialize

    void initialize()

(Re-)initializes the structure provided by the receiver.