## org.eclipse.datatools.sqltools.schemaobjecteditor.ui
Interface ISchemaObjectEditorPage

All Superinterfaces:
  org.eclipse.core.runtime.IAdaptable, IDisablementPart, org.eclipse.ui.IEditorPart, org.eclipse.ui.forms.editor.IFormPage, org.eclipse.ui.ISaveablePart, org.eclipse.ui.IWorkbenchPart

All Known Implementing Classes:
  ASAColumnsEditorPage, ASAConstraintsEditorPage, ASAIndexesEditorPage, ASAPrivilegesEditorPage, ASAProcedureGeneralPage, ASARoutinePrivilegePage, ASASourcePage, ASAStorageEditorPage, ASATableSchemaEditorPage, ASATriggerGeneralPage, ASATriggersEditorPage, ASAUserDefinedTypeGeneralPage, DDLPage, IntroductionPage, NestedEditorPage, ProceduralObjectGeneralPage, ProceduralObjectPrivilegePage, RoutineGeneralPage, SchemaObjectEditorPage, SourcePage, TriggerGeneralPage

    public interface ISchemaObjectEditorPage

extends org.eclipse.ui.forms.editor.IFormPage, IDisablementPart

An instance of this class stands for a run-time editor page of a schema object editor

Author:
  Idull

Field Summary
`static int` `UNKNOWN_ITEM_TYPE`

Fields inherited from interface org.eclipse.ui.IEditorPart
`PROP_DIRTY, PROP_INPUT`

Fields inherited from interface org.eclipse.ui.IWorkbenchPart
`PROP_TITLE`

Method Summary
`boolean` `aboutToSave(org.eclipse.core.runtime.IProgressMonitor monitor)` Notifies this page that the editor is about to save, subclass should update the model if necessary
`org.eclipse.datatools.sqltools.core.DatabaseIdentifier` `getDatabaseIdentifier()` Returns the database identifier
`IEditorDescriptor` `getEditorDescriptor()` Returns an instance of `IEditorDescriptor` which is used to describe some static information of the scheme object editor in which this page is contained
`java.lang.String` `getErrorMsg()` Returns the error message in this page which prevent to flip to other pages
`IEditorPageDescriptor` `getPageDescriptor()` Returns an instance of `IEditorPageDescriptor` which is used to describe some static information of this page
`java.lang.String[]` `getPreferencePageIds()` Returns the preference pages ids related to this editor page. The returns preference pages will be displayed if user click "Preferences..." in the editor page's context menu
`boolean` `isPageOpened()` Checks if the page is opened (Controls are created)
`void` `markDirty()` Marks the parent editor as dirty status
`void` `menuAboutToShow(org.eclipse.jface.action.IMenuManager manager)` Adds menu items for this page
`void` `modelRegenerated()` Do something when the model is re-generated, for example, after successfully saving the dirty editor, the edit model will be re-cloned from the refreshed database model, in this case, page should be refreshed to keep it synchronized with database
`void` `populateSQLObjects(org.eclipse.swt.events.TypedEvent event)` Populates the SQL object using the user's input
`void` `refresh()` Refresh the content of this page to the edit model to synchronize this page with the immutable model.
`void` `revert()` Revert this page to the original model
`void` `setEditor(org.eclipse.ui.forms.editor.FormEditor editor)` Sets the editor in which this paged is contained, this will be called after the schema object is opened.
`void` `setEditorDescriptor(IEditorDescriptor editor)` Sets the editor descriptor for this page
`void` `setFocus(int itemType, java.lang.Object item)` Sets focus to the pre-defined item
`void` `setId(java.lang.String id)` Sets the id for this page
`void` `setPageDescriptor(IEditorPageDescriptor page)` Sets the page descriptor for this page
`void` `setPartName(java.lang.String title)` Sets the title for this page
`IErrorItem[]` `validate(org.eclipse.swt.events.TypedEvent event)` Checks if this page is valid
`void` `validateAndShowErrors(org.eclipse.swt.events.TypedEvent event)` Validates the page and show error in problems view accordingly
`IErrorItem[]` `validateOnline(org.eclipse.swt.events.TypedEvent event)` Online check if the page is valid

Methods inherited from interface org.eclipse.ui.forms.editor.IFormPage
`canLeaveThePage, getEditor, getId, getIndex, getManagedForm, getPartControl, initialize, isActive, isEditor, selectReveal, setActive, setIndex`

Methods inherited from interface org.eclipse.ui.IEditorPart
`getEditorInput, getEditorSite, init`

Methods inherited from interface org.eclipse.ui.IWorkbenchPart
`addPropertyListener, createPartControl, dispose, getSite, getTitle, getTitleImage, getTitleToolTip, removePropertyListener, setFocus`

Methods inherited from interface org.eclipse.core.runtime.IAdaptable
`getAdapter`

Methods inherited from interface org.eclipse.ui.ISaveablePart
`doSave, doSaveAs, isDirty, isSaveAsAllowed, isSaveOnCloseNeeded`

Methods inherited from interface org.eclipse.datatools.sqltools.schemaobjecteditor.ui.IDisablementPart
`enable`

Field Detail

### UNKNOWN_ITEM_TYPE

    static final int UNKNOWN_ITEM_TYPE

See Also:
  Constant Field Values

Method Detail

### getErrorMsg

    java.lang.String getErrorMsg()

  Returns the error message in this page which prevent to flip to other pages

  Returns:

### getDatabaseIdentifier

    org.eclipse.datatools.sqltools.core.DatabaseIdentifier getDatabaseIdentifier()

  Returns the database identifier

  Returns:

### getEditorDescriptor

    IEditorDescriptor getEditorDescriptor()

  Returns an instance of `IEditorDescriptor` which is used to describe some static information of the scheme object editor in which this page is contained

  Returns:

### getPageDescriptor

    IEditorPageDescriptor getPageDescriptor()

  Returns an instance of `IEditorPageDescriptor` which is used to describe some static information of this page

  Returns:

### aboutToSave

    boolean aboutToSave(org.eclipse.core.runtime.IProgressMonitor monitor)

  Notifies this page that the editor is about to save, subclass should update the model if necessary

### refresh

    void refresh()

  Refresh the content of this page to the edit model to synchronize this page with the immutable model. Note: This is called after save or revert. @see #setActive

### modelRegenerated

    void modelRegenerated()

  Do something when the model is re-generated, for example, after successfully saving the dirty editor, the edit model will be re-cloned from the refreshed database model, in this case, page should be refreshed to keep it synchronized with database

### revert

    void revert()

  Revert this page to the original model

### setEditor

    void setEditor(org.eclipse.ui.forms.editor.FormEditor editor)

  Sets the editor in which this paged is contained, this will be called after the schema object is opened. Subclass of `SchemaObjectPage` should not override this method

  Parameters:
    `editor` -

### setId

    void setId(java.lang.String id)

  Sets the id for this page

  Parameters:
    `id` -

### validate

    IErrorItem[] validate(org.eclipse.swt.events.TypedEvent event)

  Checks if this page is valid

  Returns:
    the error items if this page is not valid, otherwise return `null`

### validateOnline

    IErrorItem[] validateOnline(org.eclipse.swt.events.TypedEvent event)

  Online check if the page is valid

  Parameters:
    `event` -
  Returns:
    the error items if this page is not valid, otherwise return `null`

### populateSQLObjects

    void populateSQLObjects(org.eclipse.swt.events.TypedEvent event)

  Populates the SQL object using the user's input

  Parameters:
    `event` - the edit event which changes the input

### validateAndShowErrors

    void validateAndShowErrors(org.eclipse.swt.events.TypedEvent event)

  Validates the page and show error in problems view accordingly

  Parameters:
    `event` -

### isPageOpened

    boolean isPageOpened()

  Checks if the page is opened (Controls are created)

  Returns:

### setPartName

    void setPartName(java.lang.String title)

  Sets the title for this page

  Parameters:
    `title` -

### setEditorDescriptor

    void setEditorDescriptor(IEditorDescriptor editor)

  Sets the editor descriptor for this page

  Parameters:
    `editor` -

### setPageDescriptor

    void setPageDescriptor(IEditorPageDescriptor page)

  Sets the page descriptor for this page

  Parameters:
    `page` -

### markDirty

    void markDirty()

  Marks the parent editor as dirty status

### menuAboutToShow

    void menuAboutToShow(org.eclipse.jface.action.IMenuManager manager)

  Adds menu items for this page

  Parameters:
    `manager` -

### getPreferencePageIds

    java.lang.String[] getPreferencePageIds()

  Returns the preference pages ids related to this editor page.
  The returns preference pages will be displayed if user click "Preferences..." in the editor page's context menu

  Returns:

### setFocus

    void setFocus(int itemType,
                  java.lang.Object item)

  Sets focus to the pre-defined item

  Parameters:
    `itemType` - the type of the item, each page can define its own types
    `item` - the object of the type, it can be `null` if the item type provides enough information