# Java Folding Structure Provider

###### Identifier:

org.eclipse.jdt.ui.foldingStructureProviders

###### Since:

3.0

###### Description:

Contributions to this extension point define folding structures for the Java editor. That is, they define the regions of a Java source file that can be folded away. See `org.eclipse.jface.text.source.ProjectionViewer` for reference.

Extensions may optionally contribute a preference block which will appear on the Java editor preference page.

###### Configuration Markup:

<!ELEMENT extension (provider+)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT provider EMPTY>

<!ATTLIST provider

id CDATA #REQUIRED

name CDATA #IMPLIED

class CDATA #REQUIRED

preferencesClass CDATA #IMPLIED>

- id - the unique identifier of this provider
- name - the name of this provider. If none is given, the id is used instead.
- class - an implementation of `org.eclipse.jdt.ui.text.folding.IJavaFoldingStructureProvider`
- preferencesClass - an implementation of `org.eclipse.jdt.ui.text.folding.IJavaFoldingPreferenceBlock`

###### Examples:

See `org.eclipse.jdt.ui.text.folding.DefaultJavaFoldingStructureProvider` for an example.

###### Supplied Implementation:

`org.eclipse.jdt.ui.text.folding.DefaultJavaFoldingStructureProvider` provides the default folding structure for the Java editor. `org.eclipse.jdt.internal.ui.text.folding.DefaultJavaFoldingPreferenceBlock` provides the preference block for the default structure provider.

Copyright (c) 2001, 2004 IBM Corporation and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-v20.html/ SPDX-License-Identifier: EPL-2.0