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
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