## org.eclipse.datatools.sqltools.sqleditor.internal.editor
Class SQLEditorOutlineContentProvider

    java.lang.Object
      org.eclipse.datatools.sqltools.sqleditor.internal.editor.SQLEditorOutlineContentProvider

All Implemented Interfaces:
  org.eclipse.jface.viewers.IContentProvider, org.eclipse.jface.viewers.IStructuredContentProvider, org.eclipse.jface.viewers.ITreeContentProvider

    public class SQLEditorOutlineContentProvider

extends java.lang.Object
implements org.eclipse.jface.viewers.ITreeContentProvider

This class implements a content provider for the SQL Editor outline page.

Field Summary
`static java.lang.String` `SQL_SEGMENTS` A category identifier for SQL segments.

Constructor Summary
`SQLEditorOutlineContentProvider(SQLEditorContentOutlinePage outlinePage)` Constructs an instance of this class with the given outline page.

Method Summary
`void` `clearContent()` Clears the outline content.
`void` `dispose()` Disposes of this content provider.
`java.lang.Object[]` `getChildren(java.lang.Object element)` Returns the child elements of the given parent element.
`java.util.List` `getContent()` Gets the content of this outline view, as a list.
`java.lang.Object[]` `getElements(java.lang.Object inputElement)` Returns the elements to display in the viewer when its input is set to the given element.
`java.lang.Object` `getParent(java.lang.Object element)` Returns the parent for the given element, or `null` indicating that the parent can't be computed.
`org.eclipse.jface.text.IPositionUpdater` `getPositionUpdater()` Gets the position udater.
`boolean` `hasChildren(java.lang.Object element)` Returns whether the given element has children.
`void` `inputChanged(org.eclipse.jface.viewers.Viewer viewer, java.lang.Object oldInput, java.lang.Object newInput)` Notifies this content provider that the given viewer's input has been switched to a different element.
`void` `parse(org.eclipse.jface.text.IDocument document)` Parses the given document into segments.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### SQL_SEGMENTS

    public static final java.lang.String SQL_SEGMENTS

  A category identifier for SQL segments.

  See Also:
    Constant Field Values

Constructor Detail

### SQLEditorOutlineContentProvider

    public SQLEditorOutlineContentProvider(SQLEditorContentOutlinePage outlinePage)

  Constructs an instance of this class with the given outline page.

  Parameters:
    `outlinePage` - associated outline page

Method Detail

### dispose

    public void dispose()

  Disposes of this content provider. This is called by the viewer when it is disposed.

  Specified by:
    `dispose` in interface `org.eclipse.jface.viewers.IContentProvider`

### getChildren

    public java.lang.Object[] getChildren(java.lang.Object element)

  Returns the child elements of the given parent element.

  The difference between this method and `IStructuredContentProvider.getElements` is that `getElements` is called to obtain the tree viewer's root elements, whereas `getChildren` is used to obtain the children of a given parent element in the tree (including a root).

  The result is not modified by the viewer.

  Specified by:
    `getChildren` in interface `org.eclipse.jface.viewers.ITreeContentProvider`
  Parameters:
    `parentElement` - the parent element
  Returns:
    an array of child elements

### getElements

    public java.lang.Object[] getElements(java.lang.Object inputElement)

  Returns the elements to display in the viewer when its input is set to the given element. These elements can be presented as rows in a table, items in a list, etc. The result is not modified by the viewer.

  Specified by:
    `getElements` in interface `org.eclipse.jface.viewers.IStructuredContentProvider`
  Parameters:
    `inputElement` - the input element
  Returns:
    the array of elements to display in the viewer

### getParent

    public java.lang.Object getParent(java.lang.Object element)

  Returns the parent for the given element, or `null` indicating that the parent can't be computed. In this case the tree-structured viewer can't expand a given node correctly if requested.

  Specified by:
    `getParent` in interface `org.eclipse.jface.viewers.ITreeContentProvider`
  Parameters:
    `element` - the element
  Returns:
    the parent element, or `null` if it has none or if the parent cannot be computed

### hasChildren

    public boolean hasChildren(java.lang.Object element)

  Returns whether the given element has children.

  Intended as an optimization for when the viewer does not need the actual children. Clients may be able to implement this more efficiently than `getChildren`.

  Specified by:
    `hasChildren` in interface `org.eclipse.jface.viewers.ITreeContentProvider`
  Parameters:
    `element` - the element
  Returns:
    `true` if the given element has children, and `false` if it has no children

### inputChanged

    public void inputChanged(org.eclipse.jface.viewers.Viewer viewer,
                             java.lang.Object oldInput,
                             java.lang.Object newInput)

  Notifies this content provider that the given viewer's input has been switched to a different element.

  A typical use for this method is registering the content provider as a listener to changes on the new input (using model-specific means), and deregistering the viewer from the old input. In response to these change notifications, the content provider propagates the changes to the viewer.

  Specified by:
    `inputChanged` in interface `org.eclipse.jface.viewers.IContentProvider`
  Parameters:
    `viewer` - the viewer
    `oldInput` - the old input element, or `null` if the viewer did not previously have an input
    `newInput` - the new input element, or `null` if the viewer does not have an input

### parse

    public void parse(org.eclipse.jface.text.IDocument document)

  Parses the given document into segments. The segments are added to fContent.

  Parameters:
    `document` - the document to parse

### getContent

    public java.util.List getContent()

  Gets the content of this outline view, as a list.

  Returns:
    the outline content

### clearContent

    public void clearContent()

  Clears the outline content.

### getPositionUpdater

    public org.eclipse.jface.text.IPositionUpdater getPositionUpdater()

  Gets the position udater.

  Returns:
    the position updater