Developing Rich Client Platform (RCP) Plug-ins Course

Course Code: IN 791
Course Abstract:

Learn how to harness the power of the Eclipse Foundation’s Rich Client Platform to develop feature-rich end-user applications.

Approximately 50% of the time is devoted to hands-on lab exercises.

Audience: This course is designed for System architects, application developers and software engineers who will be designing and/or implementing applications using the Eclipse Rich Client Platform (RCP).
Duration: 5 days
Learning Outcomes: Key benefits and unique features of this course:

> The course is lab-centric: the slides support the lab exercises rather than the reverse.
> The lab instructions allow students to choose their own level of depth: hints and solutions are provided at the end of each lab and optional challenge learning activities are included. Many labs include diagrams and other supplementary reference material.
> Most labs build on each other but some optional labs are also included.
> Course material is updated regularly based on student feedback.
Course Topics: Unit 1: OSGi Bundle Overview
The Big Picture: Modules
Background: JAR Files and Their Limitations
The OSGi Service Platform
OSGi Bundles
Native Code Libraries
Activators and Bundle Lifecycle
Remote Administration

Unit 2: Threads and SWT/JFace GUIs
Bundles and Threads: Activators, Tasks, and Thread Executors
Adding an SWT/JFace GUI
Display and Shell
The UI Thread

Unit 3: Bundle Class Loading & Bundle Dependencies

Background: Classes and Class Loaders
Typical Class Loader Delegation
A New Level of Visibility
Bundle Dependencies
Require-Bundle vs. Import-Package
Bundle Version Numbering
Bundle Class Loading
Refresh

Unit 4: Avoiding Bundle Dependency Errors
The Bundle Class Space
Avoiding ClassCastExceptions
Avoiding Loader Constraint Violations

Unit 5: Bundle Localization

Manifest Localization Keys
Properties Files
Specifying the Locale
Accessing Headers Programmatically

Unit 6: Bundle Fragments
Example Fragment Uses
The Fragment-Host Header
Fragments and Dependencies
The Eclipse Build Properties Editor
Project Structure vs. Bundle Structure
The build.properties File
Bundle Dependencies
Require-Bundle vs. Import-Package
Bundle Version Numbering
Bundle Class Loading
Refresh

Unit 7: Avoiding Bundle Dependency Errors
The Bundle Class Space
Avoiding ClassCastExceptions
Avoiding Loader Constraint Violations

Unit 8: Bundle Localization
Manifest Localization Keys
Properties Files
Specifying the Locale
Accessing Headers Programmatically

Unit 9: Bundle Fragments
Example Fragment Uses
The Fragment-Host Header
Fragments and Dependencies
The Eclipse Build Properties Editor
Project Structure vs. Bundle Structure
The build.properties File

Unit 10: RCP Overview
What is RCP?
RCP Benefits
Example Plug-ins
RCP Footprint
RCP Deliverable Configurations
The Eclipse Foundation

Unit 11: Plug-ins
What is a Plug-in?
Extensions and Extension Points
Application Structure
Key RCP Application Classes
A “Hello, world” Application

Unit 12: The Workbench

The org.eclipse.ui Plug-in
Workbench Visual Elements: Menus, Toolbars, Perspectives, Views
Classes: IWorkbench, etc.
Classes: EditorPart, ViewPart
Classes: The Advisor Classes
Classes: Perspective, View
Classes: Site

Unit 13: The Selection Service
SelectionService Overview
Implementing ISelectionProvider
Registering a Provider
Acquiring the Current Selection
Adding a SelectionListener
Implementing IPropertySource
The IAdaptable Interface
A Complete Example

Unit 14: Status
IStatus
StatusManager
MultiStatus

Unit 15: The Command Framework
Part 1 — an End-to-End Example
The Command Framework
The commands Extension Point
Command Parameters
Handlers
The handlers Extension Point
The bindings Extension Point
Part 2 — menus rather than bindings
The menus Extension Point
LocationURI
Command Categories
Contexts
Programmatic Command Invocation

Unit 16: Core Expressions
Using Core Expressions
Example
The definitions Extension Point
Handlers
Command Framework Variables

Unit 17: Jobs
The Eclipse Jobs API: Advantages
A “Hello, World” Job
The Job Class
Jobs and the Status Line

Unit 18: Preferences

Preference Terms
Nodes
Scopes
The Default Scope
The Instance Scope
Alternative Access to Instance-Scope Preferences
The Configuration Scope
Adding a Preference Page
Adding the Preference Menu Item
Example
File Access

Unit 19: Deployment
Product
Deployment Structure
Branding
The Product Configuration Editor
Exporting
Deployment Options

Unit 20: Fragments and Features

Fragments
Fragment Uses
Fragments and Dependencies
Example Fragment.xml
Example MANIFEST.MF
Version Numbering
Features
Update Sites

Unit 21: Conclusion
Prerequisites: Previous Java development experience is required.
Note: All fields are required
At the present time we do not offer training for individuals or groups less then 6 individuals. We apologize for any inconvenience.


We Value Your Privacy!

Ready to get started or in need of more information? Contact us today.

Go To Blog Virtual Learning