The Visitor Design Pattern and Java Tree Builder

Download Report

Transcript The Visitor Design Pattern and Java Tree Builder

The Launching Framework in Eclipse Cheng-Chia Chen

1

Outlines

• source:

– http://www.eclipse.org/articles/Article-Launch Framework/launch.html

• Eclipse's launching capabilities

– depend entirely on the current set of installed plug-ins. – API available to build launching plug-ins and – developing an example launcher using this API.

• Prerequisites:

– basic understanding of Eclipse plug-in architecture – understanding the structure of plugin.xml

– knowledge of java and java environment 2

What is launching ?

launching

is defined as running or debugging a program from within Eclipse. • a

launcher

is a set of Java classes that live in an Eclipse plug-in that performs launching.

• The base Eclipse workbench has no launcher.

– It is only through plug-ins that Eclipse gains the ability to launch.

• The Eclipse SDK does ship with a set of useful launchers for launching – local Java applications & Java applets, – connecting to remote Java applications, – JUnit test suites and – starting an Eclipse workbench, • if none of these satisfy your needs, you may need to write your own launcher. 3

The framework

• two main classes: • LaunchConfiguration – the cookies • LaunchConfigurationType – the cookie cutters • Example: run a HelloWorld.java program – configurations: • main class name: ‘HelloWorld’ • JRE to use: 1.4.2

• program and VM arguments • classpath,… – type: local Java Application' • means only this type knows how to make sense of this config and how to launch it. 4

The Java applet example

• • • • • • • • an example actually part of eclipse SDK – non-UI parts living in org.eclipse.jdt.launching

– UI parts contained in org.eclipse.jdt.debug.ui

plug-in, and plug-in.

Declaring and implementing a launch configuration type Declaring and implementing a launch configuration type icon Declaring and implementing a tab group Declaring and implementing launch shortcuts Declaring and implementing launch groups Declaring and implementing a launch configuration comparator Putting it all together

5

Declaring a launch configuration type

Notes: 1. The delegate class must implement the interface:org.eclipse.debug.core.model.ILaunchConfigurationDelega

te . it is the brains of the launcher, and implements the launch() method which launches a specified config.

2.

modes can be run or debug or both. can affect how the the configs appear in UI. if in both mode, launch() should handle both.

6

Declaring a launch configuration type

Notes: 3. optional boolean attributes: • private – ture => can be launched by programs only.

– false[default] => can appear in UI.

• category – discussed later 7