Enviar búsqueda
Cargar
Eclipse Training - Main eclipse ecosystem classes
•
Descargar como PPT, PDF
•
1 recomendación
•
533 vistas
Luca D'Onofrio
Seguir
Eclipse Training - Main eclipse ecosystem classes
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 15
Descargar ahora
Recomendados
Lecture 5, c++(complete reference,herbet sheidt)chapter-15
Lecture 5, c++(complete reference,herbet sheidt)chapter-15
Abu Saleh
JDK 14 Lots of New Features
JDK 14 Lots of New Features
Simon Ritter
How to Choose a JDK
How to Choose a JDK
Simon Ritter
Network
Network
phanleson
New features in jdk8 iti
New features in jdk8 iti
Ahmed mar3y
Java after 8
Java after 8
Simon Ritter
Java Basics
Java Basics
Sunil OS
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...
Uehara Junji
Recomendados
Lecture 5, c++(complete reference,herbet sheidt)chapter-15
Lecture 5, c++(complete reference,herbet sheidt)chapter-15
Abu Saleh
JDK 14 Lots of New Features
JDK 14 Lots of New Features
Simon Ritter
How to Choose a JDK
How to Choose a JDK
Simon Ritter
Network
Network
phanleson
New features in jdk8 iti
New features in jdk8 iti
Ahmed mar3y
Java after 8
Java after 8
Simon Ritter
Java Basics
Java Basics
Sunil OS
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...
Uehara Junji
Easy Going Groovy 2nd season on DevLOVE
Easy Going Groovy 2nd season on DevLOVE
Uehara Junji
Java PRACTICAL file
Java PRACTICAL file
RACHIT_GUPTA
Deep Dive Java 17 Devoxx UK
Deep Dive Java 17 Devoxx UK
José Paumard
Getting the Most From Modern Java
Getting the Most From Modern Java
Simon Ritter
Runtime Code Generation and Data Management for Heterogeneous Computing in Java
Runtime Code Generation and Data Management for Heterogeneous Computing in Java
Juan Fumero
It's Java, Jim, but not as we know it
It's Java, Jim, but not as we know it
Simon Ritter
Ontopia tutorial
Ontopia tutorial
Lars Marius Garshol
(1) cpp introducing the_cpp_programming_language
(1) cpp introducing the_cpp_programming_language
Nico Ludwig
Modules in Python Programming
Modules in Python Programming
sambitmandal
Open CL For Speedup Workshop
Open CL For Speedup Workshop
Ofer Rosenberg
Java practical
Java practical
shweta-sharma99
Modern Programming in Java 8 - Lambdas, Streams and Date Time API
Modern Programming in Java 8 - Lambdas, Streams and Date Time API
Ganesh Samarthyam
JVM Mechanics: When Does the JVM JIT & Deoptimize?
JVM Mechanics: When Does the JVM JIT & Deoptimize?
Doug Hawkins
Functional Thinking - Programming with Lambdas in Java 8
Functional Thinking - Programming with Lambdas in Java 8
Ganesh Samarthyam
Lessons Learnt With Lambdas and Streams in JDK 8
Lessons Learnt With Lambdas and Streams in JDK 8
Simon Ritter
Rust and Eclipse
Rust and Eclipse
Max Bureck
Productive Programming in Java 8 - with Lambdas and Streams
Productive Programming in Java 8 - with Lambdas and Streams
Ganesh Samarthyam
An Introduction to CMake
An Introduction to CMake
ICS
Разработка кросс-платформенного кода между iPhone < -> Windows с помощью o...
Разработка кросс-платформенного кода между iPhone < -> Windows с помощью o...
Yandex
Soluciones de movilidad con Android y PaaS
Soluciones de movilidad con Android y PaaS
Neodoo Microsystems S.L.
Consumo de APIs usando el WSO2 API Manager
Consumo de APIs usando el WSO2 API Manager
IsildurMaC
Flex Air Intro
Flex Air Intro
JUG Genova
Más contenido relacionado
La actualidad más candente
Easy Going Groovy 2nd season on DevLOVE
Easy Going Groovy 2nd season on DevLOVE
Uehara Junji
Java PRACTICAL file
Java PRACTICAL file
RACHIT_GUPTA
Deep Dive Java 17 Devoxx UK
Deep Dive Java 17 Devoxx UK
José Paumard
Getting the Most From Modern Java
Getting the Most From Modern Java
Simon Ritter
Runtime Code Generation and Data Management for Heterogeneous Computing in Java
Runtime Code Generation and Data Management for Heterogeneous Computing in Java
Juan Fumero
It's Java, Jim, but not as we know it
It's Java, Jim, but not as we know it
Simon Ritter
Ontopia tutorial
Ontopia tutorial
Lars Marius Garshol
(1) cpp introducing the_cpp_programming_language
(1) cpp introducing the_cpp_programming_language
Nico Ludwig
Modules in Python Programming
Modules in Python Programming
sambitmandal
Open CL For Speedup Workshop
Open CL For Speedup Workshop
Ofer Rosenberg
Java practical
Java practical
shweta-sharma99
Modern Programming in Java 8 - Lambdas, Streams and Date Time API
Modern Programming in Java 8 - Lambdas, Streams and Date Time API
Ganesh Samarthyam
JVM Mechanics: When Does the JVM JIT & Deoptimize?
JVM Mechanics: When Does the JVM JIT & Deoptimize?
Doug Hawkins
Functional Thinking - Programming with Lambdas in Java 8
Functional Thinking - Programming with Lambdas in Java 8
Ganesh Samarthyam
Lessons Learnt With Lambdas and Streams in JDK 8
Lessons Learnt With Lambdas and Streams in JDK 8
Simon Ritter
Rust and Eclipse
Rust and Eclipse
Max Bureck
Productive Programming in Java 8 - with Lambdas and Streams
Productive Programming in Java 8 - with Lambdas and Streams
Ganesh Samarthyam
An Introduction to CMake
An Introduction to CMake
ICS
Разработка кросс-платформенного кода между iPhone < -> Windows с помощью o...
Разработка кросс-платформенного кода между iPhone < -> Windows с помощью o...
Yandex
La actualidad más candente
(19)
Easy Going Groovy 2nd season on DevLOVE
Easy Going Groovy 2nd season on DevLOVE
Java PRACTICAL file
Java PRACTICAL file
Deep Dive Java 17 Devoxx UK
Deep Dive Java 17 Devoxx UK
Getting the Most From Modern Java
Getting the Most From Modern Java
Runtime Code Generation and Data Management for Heterogeneous Computing in Java
Runtime Code Generation and Data Management for Heterogeneous Computing in Java
It's Java, Jim, but not as we know it
It's Java, Jim, but not as we know it
Ontopia tutorial
Ontopia tutorial
(1) cpp introducing the_cpp_programming_language
(1) cpp introducing the_cpp_programming_language
Modules in Python Programming
Modules in Python Programming
Open CL For Speedup Workshop
Open CL For Speedup Workshop
Java practical
Java practical
Modern Programming in Java 8 - Lambdas, Streams and Date Time API
Modern Programming in Java 8 - Lambdas, Streams and Date Time API
JVM Mechanics: When Does the JVM JIT & Deoptimize?
JVM Mechanics: When Does the JVM JIT & Deoptimize?
Functional Thinking - Programming with Lambdas in Java 8
Functional Thinking - Programming with Lambdas in Java 8
Lessons Learnt With Lambdas and Streams in JDK 8
Lessons Learnt With Lambdas and Streams in JDK 8
Rust and Eclipse
Rust and Eclipse
Productive Programming in Java 8 - with Lambdas and Streams
Productive Programming in Java 8 - with Lambdas and Streams
An Introduction to CMake
An Introduction to CMake
Разработка кросс-платформенного кода между iPhone < -> Windows с помощью o...
Разработка кросс-платформенного кода между iPhone < -> Windows с помощью o...
Destacado
Soluciones de movilidad con Android y PaaS
Soluciones de movilidad con Android y PaaS
Neodoo Microsystems S.L.
Consumo de APIs usando el WSO2 API Manager
Consumo de APIs usando el WSO2 API Manager
IsildurMaC
Flex Air Intro
Flex Air Intro
JUG Genova
Flex
Flex
oomm
Escenario de aprendizaje 1 talde osoa
Escenario de aprendizaje 1 talde osoa
jaizkibel
Flex Introduction
Flex Introduction
Sabarinathan Masilamani
Artículo 3 sobre la plataforma ECLIPSE
Artículo 3 sobre la plataforma ECLIPSE
torrubia
Flex Messeging Services
Flex Messeging Services
ravinxg
JBoss AS Seguridad - monitorizacións - Curso JBoss JB366 Día 4
JBoss AS Seguridad - monitorizacións - Curso JBoss JB366 Día 4
César Pajares
Destacado
(9)
Soluciones de movilidad con Android y PaaS
Soluciones de movilidad con Android y PaaS
Consumo de APIs usando el WSO2 API Manager
Consumo de APIs usando el WSO2 API Manager
Flex Air Intro
Flex Air Intro
Flex
Flex
Escenario de aprendizaje 1 talde osoa
Escenario de aprendizaje 1 talde osoa
Flex Introduction
Flex Introduction
Artículo 3 sobre la plataforma ECLIPSE
Artículo 3 sobre la plataforma ECLIPSE
Flex Messeging Services
Flex Messeging Services
JBoss AS Seguridad - monitorizacións - Curso JBoss JB366 Día 4
JBoss AS Seguridad - monitorizacións - Curso JBoss JB366 Día 4
Similar a Eclipse Training - Main eclipse ecosystem classes
Better Code: Concurrency
Better Code: Concurrency
Platonov Sergey
Eclipse Training - RCP & Industrialization
Eclipse Training - RCP & Industrialization
Luca D'Onofrio
Manage software dependencies with ioc and aop
Manage software dependencies with ioc and aop
Stefano Leli
Eclipse Modeling Framework
Eclipse Modeling Framework
Ajay K
Eclipse Training - Standard Extension Points and APIs
Eclipse Training - Standard Extension Points and APIs
Luca D'Onofrio
PRINCE PRESENTATION(1).pptx
PRINCE PRESENTATION(1).pptx
SajalKesharwani2
服务框架: Thrift & PasteScript
服务框架: Thrift & PasteScript
Qiangning Hong
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)
Mikkel Flindt Heisterberg
Docker practical solutions
Docker practical solutions
Kesav Kumar Kolla
C++ Programming
C++ Programming
Envision Computer Training Institute
Activity 5
Activity 5
Heidi Owens
adaptTo() 2014 - Integrating Open Source Search with CQ/AEM
adaptTo() 2014 - Integrating Open Source Search with CQ/AEM
therealgaston
Gwt.create
Gwt.create
Mauricio (Salaboy) Salatino
C++ Programming
C++ Programming
Rounak Samdadia
Python at Facebook
Python at Facebook
Angelo Failla
Inroduction to golang
Inroduction to golang
Yoni Davidson
EKON 25 Python4Delphi_mX4
EKON 25 Python4Delphi_mX4
Max Kleiner
Angular performance slides
Angular performance slides
David Barreto
Logging & Metrics with Docker
Logging & Metrics with Docker
Stefan Zier
Eclipse e4 Overview
Eclipse e4 Overview
Lars Vogel
Similar a Eclipse Training - Main eclipse ecosystem classes
(20)
Better Code: Concurrency
Better Code: Concurrency
Eclipse Training - RCP & Industrialization
Eclipse Training - RCP & Industrialization
Manage software dependencies with ioc and aop
Manage software dependencies with ioc and aop
Eclipse Modeling Framework
Eclipse Modeling Framework
Eclipse Training - Standard Extension Points and APIs
Eclipse Training - Standard Extension Points and APIs
PRINCE PRESENTATION(1).pptx
PRINCE PRESENTATION(1).pptx
服务框架: Thrift & PasteScript
服务框架: Thrift & PasteScript
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)
Docker practical solutions
Docker practical solutions
C++ Programming
C++ Programming
Activity 5
Activity 5
adaptTo() 2014 - Integrating Open Source Search with CQ/AEM
adaptTo() 2014 - Integrating Open Source Search with CQ/AEM
Gwt.create
Gwt.create
C++ Programming
C++ Programming
Python at Facebook
Python at Facebook
Inroduction to golang
Inroduction to golang
EKON 25 Python4Delphi_mX4
EKON 25 Python4Delphi_mX4
Angular performance slides
Angular performance slides
Logging & Metrics with Docker
Logging & Metrics with Docker
Eclipse e4 Overview
Eclipse e4 Overview
Último
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Juan lago vázquez
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
DianaGray10
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Khem
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
The Digital Insurer
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Edi Saputra
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
lior mazor
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Remote DBA Services
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
The Digital Insurer
Último
(20)
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
Eclipse Training - Main eclipse ecosystem classes
1.
Eclipse Plug-ins and RCP Training
Course Main Eclipse ecosystem classes October 2013Copyright © 2013 Luca D’Onofrio – RCP Solutions 1
2.
1. Runtime Platform
Core & Runtime a) Plugin & Bundle classes b) Platform User Interface c) Logging 2. Resource Management 3. Jobs a) Progress monitoring b) Workspace operations Agenda 2 October 2013Copyright © 2013 Luca D’Onofrio – RCP Solutions
3.
∗ The core
component provides basic platform infrastructure that does not involve any UI. ∗ Main plug-ins: ∗ org.eclipse.core.contenttype - Support for defining and managing file content types ∗ org.eclipse.core.expressions - A generic XML-based expression language used in the markup of various extension points. ∗ org.eclipse.core.filesystem - A generic file system API ∗ org.eclipse.core.jobs - Infrastructure for concurrent programming in Eclipse ∗ org.eclipse.core.resources - Management of resources - projects, folders, and files ∗ org.eclipse.core.runtime - Formerly the foundation of the platform, this plug-in has largely been supplanted by the Equinox runtime ∗ Each plug-in provides a basic set of services, and API and extension points for managing and interacting with those services. ∗ The contents of resources are never examined in any domain-specific way and the Core can run equally well with and without a UI. ∗ Much of the function previously provided by core now falls under the Equinox OSGi project Platform Core & Runtime Copyright © 2013 Luca D’Onofrio – RCP Solutions 3 October 2013
4.
∗ The central
class of the Eclipse Platform Runtime. This class cannot be instantiated or subclassed by clients; all functionality is provided by static methods. ∗ The Platform defines the set of frameworks and common services that collectively make up infrastructure required to support the use of Eclipse as a component model, as a Rich Client Platform (RCP) and as a comprehensive tool integration platform. ∗ Features include: ∗ the platform registry of installed plug-ins ∗ the platform adapter manager ∗ the platform log ∗ the authorization info management Platform core Copyright © 2013 Luca D’Onofrio – RCP Solutions 4 class Platform runtime::Platform {leaf} + addAuthorizationInfo(URL, String, String, Map) : void + getAdapterManager() : IAdapterManager + getAuthorizationInfo(URL, String, String) : Map + getCommandLineArgs() : String[] + getDebugOption(String) : String + getLocation() : IPath + getPlugin(String) : Plugin + getPluginRegistry() : IPluginRegistry + resolve(URL) : URL + getJobManager() : IJobManager + getExtensionRegistry() : IExtensionRegistry + find(Bundle, IPath) : URL + find(Bundle, IPath, Map<String,String>) : URL + getLog(Bundle) : ILog + getOSArch() : String + getNL() : String + getNLExtensions() : String + getOS() : String + getWS() : String + getApplicationArgs() : String[] + getPlatformAdmin() : PlatformAdmin + getPreferencesService() : IPreferencesService + getProduct() : IProduct + getConfigurationLocation() : Location + getUserLocation() : Location + getInstallLocation() : Location + isFragment(Bundle) : boolean + getFragments(Bundle) : Bundle[] + getBundle(String) : Bundle + getBundles(String, String) : Bundle[] + isRunning() : boolean + inDebugMode() : boolean October 2013
5.
class PluginBundle runtime::Plugin + Plugin() +
Plugin(IPluginDescriptor) + find(IPath) : URL + find(IPath, Map) : URL + getDescriptor() : IPluginDescriptor + getLog() : ILog + getStateLocation() : IPath + getPluginPreferences() : Preferences + savePluginPreferences() : void + internalInitializeDefaultPluginPreferences() : void + isDebugging() : boolean + openStream(IPath) : InputStream + openStream(IPath, boolean) : InputStream + setDebugging(boolean) : void + shutdown() : void + startup() : void + start(BundleContext) : void + stop(BundleContext) : void + getBundle() : Bundle Comparable «interface» framework::Bundle + UNINSTALLED: int = 0x00000001 + INSTALLED: int = 0x00000002 + RESOLVED: int = 0x00000004 + STARTING: int = 0x00000008 + STOPPING: int = 0x00000010 + ACTIVE: int = 0x00000020 + START_TRANSIENT: int = 0x00000001 + START_ACTIVATION_POLICY: int = 0x00000002 + STOP_TRANSIENT: int = 0x00000001 + SIGNERS_ALL: int = 1 + SIGNERS_TRUSTED: int = 2 + getState() : int + start(int) : void + start() : void + stop(int) : void + stop() : void + update(InputStream) : void + update() : void + uninstall() : void + getHeaders() : Dictionary<String, String> + getBundleId() : long + getLocation() : String + getRegisteredServices() : ServiceReference<?>[] + getServicesInUse() : ServiceReference<?>[] + hasPermission(Object) : boolean + getResource(String) : URL + getHeaders(String) : Dictionary<String, String> + getSymbolicName() : String + loadClass(String) : Class<?> + getResources(String) : Enumeration<URL> + getEntryPaths(String) : Enumeration<String> + getEntry(String) : URL + getLastModified() : long + findEntries(String, String, boolean) : Enumeration<URL> + getBundleContext() : BundleContext + getSignerCertificates(int) : Map<X509Certificate, List<X509Certificate>> + getVersion() : Version + adapt(Class<A>) : A + getDataFile(String) : File +bundle Plugin & Bundle classes Copyright © 2013 Luca D’Onofrio – RCP Solutions 5 October 2013
6.
∗ Platform UI
consists of several components, which provide the basic building blocks for user interfaces built with Eclipse. (Some of these can be reused in arbitrary applications, while others are specific to the Eclipse IDE). ∗ JFace and the Workbench can be used to build arbitrary applications, not just the Eclipse IDE. The Eclipse IDE is just one instance of an RCP application. ∗ JFace is a UI toolkit with classes for handling many common UI programming tasks. JFace is window-system-independent in both its API and implementation, and is designed to work with SWT without hiding it. JFace includes the usual UI toolkit components of image and font registries, text, dialog, preference and wizard frameworks, and progress reporting for long running operations. ∗ The Workbench provides the user interface structure for Eclipse. The purpose of the Workbench is to facilitate the seamless integration of tools. These tools contribute to extension points defined by the Workbench. Platform User Interface (1/2) Copyright © 2013 Luca D’Onofrio – RCP Solutions 6 October 2013
7.
∗ The central
class for access to the Eclipse Platform User Interface. This class cannot be instantiated; all functionality is provided by static methods. Features provided: ∗ Creation of the workbench. ∗ Access to the workbench. Platform User Interface (2/2) Copyright © 2013 Luca D’Onofrio – RCP Solutions 7 October 2013
8.
Logging Copyright © 2013
Luca D’Onofrio – RCP Solutions 8 October 2013
9.
∗ The Eclipse
File System (EFS) is an abstract file system API. It is used in the Eclipse platform to abstract away implementation details about what file system is used to store data in the workspace. ∗ EFS makes heavy use of Uniform Resource Identifiers, as defined by RFC 2396. ∗ Implementations: ∗ Local file system for resource management ∗ Remote System Explorer (SSH, FTP, …) ∗ FTP, ZIP, CVS, … Resource Management: EFS Copyright © 2013 Luca D’Onofrio – RCP Solutions 9 October 2013
10.
class resources IAdaptable «interface» IContainer IEncodedStorage IAdaptable «interface» IFile IAdaptable «interface» IFolder IAdaptable «interface» IMarker IAdaptable «interface» IProject «interface» IProjectDescription «interface» IProjectNature IAdaptable ISchedulingRule «interface» IResource IAdaptable «interface» IWorkspace IAdaptable «interface» IWorkspaceRoot 0..* 0..* 1..* Resources Hierarchy Copyright
© 2013 Luca D’Onofrio – RCP Solutions 10 October 2013
11.
∗ Copy /
Move ∗ Create / Delete ∗ Exists ∗ Get Parent ∗ Get Location (IPath) ∗ Get Location (URI) ∗ Get Project ∗ Get Workspace ∗ Refresh ∗ Resource change listener management ∗ Markers management ∗ Persistent properties management ∗ Session properties management ∗ Find Marker Resources operations Copyright © 2013 Luca D’Onofrio – RCP Solutions 11 ∗ Resource type attribute ∗ FILE ∗ FOLDER ∗ PROJECT ∗ ROOT ∗ DERIVED ∗ LINKED ∗ Synchronized ∗ Local ∗ Hidden ∗ Read Only ∗ Refresh attributes ∗ DEPTH_ZERO, DEPTH_ONE, DEPTH_INFINITE October 2013
12.
∗ Long-running operations
should be executed in the background so that the UI stays responsive. One solution is to fork a lower-priority thread to perform the operation rather than performing the operation in the UI thread. ∗ Eclipse provides a Jobs API for creating, managing, and displaying background operations. ∗ Jobs: jobs are units of runnable work that can be scheduled to be run with the job manager. ∗ UIJobs: the UIJob is a Job that runs within the UI Thread via an asyncExec. Jobs Copyright © 2013 Luca D’Onofrio – RCP Solutions 12 October 2013
13.
∗ The IProgressMonitor
object can be used to report progress. ∗ beginTask() specifies the total units of work. For an undefined amount of work use IProgressMonitor .UNKNOWN ∗ worked() reports that a certain number of units of work have been finished. ∗ isCancelled() checks if the user send a job cancel request ∗ done() all the work has been complete (successfully or not) ∗ A monitor can have one ore more sub progress monitors. ∗ The run method of a Job provide returns a IStatus object to the caller: ∗ Status.CANCEL_STATUS ∗ Status.OK_STATUS Jobs: progress monitoring Copyright © 2013 Luca D’Onofrio – RCP Solutions 13 October 2013
14.
∗ An operation
which potentially makes changes to the workspace. ∗ All resource modification should be performed using this operation. ∗ The primary consequence of using this operation is that events which typically occur as a result of workspace changes are generally deferred until the outermost operation has successfully completed. ∗ If a scheduling rule is provided, the operation will obtain that scheduling rule for the duration of its execute method. If no scheduling rule is provided, the operation will obtain a scheduling rule that locks the entire workspace for the duration of the operation. Jobs: Workspace operations Copyright © 2013 Luca D’Onofrio – RCP Solutions 14 October 2013
15.
References Copyright © 2013
Luca D’Onofrio – RCP Solutions 15 ∗ www.eclipse.org ∗ help.eclipse.org ∗ wiki.eclipse.org ∗ Eclipse SDK update site ∗ http://download.eclipse.org/eclipse/updates/4.3 October 2013
Descargar ahora