Jump to: navigation, search

Orion/Client API

< Orion
Revision as of 17:24, 10 January 2011 by John arthorne.ca.ibm.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Orion client API can roughly be divided into services and library objects. Services are obtained via a service registry, rather than instantiated by the client code. All interaction with services are asynchronous. If there is a return value to be obtained from the service, it is provided via a callback object passed in by the client.

Library objects are either stateless objects providing utility functions, or statefull objects that are instantiated directly by each client that needs one. Library objects never contain shared state that is available to multiple plugins or services.

Services

Command Service

eclipse.CommandService
The command service manages the available commands.
eclipse.Command
A command is an object that describes an action a user can perform, as well as when and what it should look like when presented in various contexts.
eclipse.KeyBinding
A KeyBinding represents of a key code and a modifier state that can be triggered by the user using the keyboard.

Dialog Service

eclipse.DialogService
Common dialog services

Explorer Service

eclipse.Explorer
A table-based explorer component
eclipse.Model
Tree model used by eclipse.Explorer.
eclipse.TreeModel
Tree model used by eclipse.ExplorerTree.

File Service

eclipse.FileService
Provides operations on files, folders, and projects.

Getting directory contents

Template:EclipseWebServiceAPI

Creating work space

Template:EclipseWebServiceAPI


Loading work space

Template:EclipseWebServiceAPI

Creating folder

Template:EclipseWebServiceAPI

Creating file

Template:EclipseWebServiceAPI

Deleting a file or folder

Template:EclipseWebServiceAPI

Editing Services

eclipse.InputService
Services for editor inputs
eclipse.SaveableService
Service for saving things

Log Service

eclipse.LogService
Services for logging
eclipse.StatusReportingService
Service for reporting status

Preferences

eclipse.Preferences
A preference object provides functions for accessing and setting preferences

Getting preference

Template:EclipseWebServiceAPI

Putting preference

Template:EclipseWebServiceAPI

Selection Service

eclipse.SelectionService
Service for providing selections

User Service

eclipse.UserService
Service for keeping track of the user

Library Objects

Editor

The following objects are related to the Orion rich text editor found in editor.js.

eclipse.Editor
A Editor is a user interface for editing text.
eclipse.DestroyEvent
This is the event sent when the editor is destroyed.
eclipse.LineStyleEvent
This is the event sent when the editor needs the style information for a line.
eclipse.ModelChangedEvent
This is the event sent when the text in the model has changed.
eclipse.ModelChangingEvent
This is the event sent when the text in the model is about to change.
eclipse.ModifyEvent
This is the event sent when the text is modified by the editor.
eclipse.Ruler
This interface represents a ruler for the editor.
eclipse.ScrollEvent
This is the event sent when the editor scrolls.
eclipse.Selection
A Selection represents a range of selected text in the editor.
eclipse.SelectionEvent
This is the event sent when the selection changes in the editor.
eclipse.Style
This object is used to define style information for the editor.
eclipse.StyleRange
This object is used to style range.
eclipse.TextModel
The TextModel is an interface that provides text for the editor.
eclipse.VerifyEvent
This is the event sent when the text is about to be modified by the editor.

Outliner

eclipse.Outliner
An Outliner provides an itemized overview of a resource and acts as a selection provider on that resource.

Search

eclipse.Searcher
Provides API for searching the workspace.

Service Registry

The service registry is somewhat unusual as a library object. Although a client can directly instantiate a private service registry and populate it with their own services, a registry is more typically passed into services and plug-ins upon construction. This avoids objects having to "reach out" and know who or what defines a given service.

The following objects are all related to the service registry:

eclipse.Plugin
A plugin is an object that is isolated in its own frame, and obtains and provides services via the asynchronous postMessage mechanism.
eclipse.Registry
The registry manages the set of available plugins.
eclipse.Service
Represents a concrete service instance.
eclipse.ServiceProvider
A Service Provider is an object that implements a Service Type
eclipse.ServiceReference
A ServiceReference enables services to be called and released.

Registering a local service

Template:EclipseWebServiceAPI

Calling a registered service

Template:EclipseWebServiceAPI

Table tree

eclipse.TableTree
Generates an HTML table where one of the columns is indented according to depth of children.

Constructing A Table Tree

Template:EclipseWebServiceAPI

Utilities

eclipse.util
eclipse.util holds stateless utility methods.