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

java.lang.Object
  extended by 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
Specified by:
getElements in interface org.eclipse.jface.viewers.ITreeContentProvider
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