Abstract Classes, 114, 150 Abstract Syntax Tree

Abstract Classes, 114, 150 Abstract Syntax Tree

Gamma-Beck.book Page 381 Tuesday, October 14, 2003 7:27 PM Index A APIs Abstract classes, 114, 150 abstract-based v. interface-based, 114 Abstract syntax tree (AST), 319–323 compatibility, preserving, 143 Accessibility, 261–262 Debug Model API, 357 Actions Defensive API Rule, 266 bookmark, 351–352 Explicit API Rule, 266 Command pattern, JFace, 342–343 ground rules, 272 context menus, creating, 121–123 plug-ins, publishing, 263–264 contributing, 127 Program to API Contract Rule, 117 ExcludeTestAction, 224–227 subclassing, 329 filtering, 128, 354 Architecture global, 216 contributions in, 15–16 invoking, 26 overview of, 5–7 menu items to run tests, 39–44 Arguments, passing to builders, 159 repository, 346–347 Arrays, configuring builders, 155 run, 347 assertEditor() helper methods, 211 set apart associations, 228 AST (Abstract syntax tree), 319–323 sets, 23–24 ASTVisitor, 321–323 Shared ActionContributor, 220 asyncExec() method, 209 submenus, 57 Attributes, markers, 131–134 Active help, 255 Auto-test properties Adapt To IResource Rule, 353 controls, adding, 165–168 AdapterFactories, 289–294 dialog implementors, finding, 166 Adapters forward pointers, 170 factories, 288–294 overview, 161, 169 IAdaptable. See IAdaptable property pages, 161–164 pluggable, JFace, 336–340 run-time workbench, 168–169 resources to Java elements, 308–309 AutoTestBuilder, 179, 375–377 SelectionAdapter, 212 Auto-testing workbench-provided, 353–354 builders, installing, 154–159 Add CVS Repository, 346–347 editors, excluding tests with. See Editors, Anchors, 250–251 excluding tests 381 Gamma-Beck.book Page 382 Tuesday, October 14, 2003 7:27 PM 382 Index Auto-testing, continued Circle Three help, 250–251 defined, 5 natures, 154–159 overview, 281–282 AutoTestPropertyPage, 173 Circle Two closing, 275–280 defined, 4 B introducing as new feature, 104–106 Basic widgets, 326, 328. See also Standard overview, 93–94 Widget Toolkit (SWT) test-driven plug-in development. See Batching resource changes, 302–305 Test-driven plug-in development Beeping plug-in, 277–278 Circle Zero, 4 Binary projects, 11–14 Class creation wizard, 110, 117 Bindings, AST, 318–319 Class loaders, 54–55, 265 Black-box reuse, 342 Class path files, 307 Bookmarks Classes externalizing strings from code, 258 action invocation, 26 IResourceAdapter, 351–352 contributor implementation, 224–227 view, 194–195 exporting, 264–265 Bridge file-system resources, 296–299, 310 IAdaptable, 286 Browsing, Eclipse source, 12–14 loading, 16 Bruce Anderson’s Architecture Handbook plug-in, 40 workshop, 3 Classpath, 26–27 Bugzilla, 359 Code assist engine, 318–319 build. properties, 20 Collector views, 221 BuildCommand, 153 Colors Builders changing, 113–118 configuring using natures, 154–159 listening to testing progress, 111–113 forward pointers, 159 resetting, 235–238 marker resolution, 186–187 testing, 231–232 order dependency, 152–154 view contribution, 107–111 overview, 151 Commands passing arguments to, 159 BuildCommand, 153 resource listeners v. builders, 152 JFace actions as, 342–343 results, collecting, 317–319 Committers, 2 Bundling Plug-Ins into features, 83–86 “Common State,” 131 Compact maps, 132 Compare component, 358 C Compile errors, 129–130 Caches, Java element, 311–312 Composite Change Method Signature, 135–136 Eclipse components using, 355 changeColor() helper method, 209–210 Java element trees, 313–314 Circle One Standard Widget Toolkit (SWT), 326–330 closing, 89–90 workspace, 300–301 defined, 4 Compound widgets, 326, 328. See also Stan- overview, 33–34 dard Widget Toolkit (SWT) Gamma-Beck.book Page 383 Tuesday, October 14, 2003 7:27 PM Index 383 Configurers, 2 Core v. user interface (UI) functionality, 268 Conformance Rule, 26, 48 Core workspace Content providers accessing file-system resources, 296–299 ContentProvider, 232–233 batching changes, 305–306 outlines, 228 composites, 300–301 TableViewer, 195 Execute Around Method, 302–305 TestReportContentProvider, 204–210 overview, 295 Context menus resource changes, tracking, 302–305 creating, 119–124 resource trees, traversing, 301–302 extending, 124–128 CoreException, 172–173, 188–190 forward pointers, 128 createImage() helper method, 226 targeting, 126 createPartControl() view method, 200 Context-sensitive help, 251–255 CVS Repository, 346–347, 358 Contributed actions, UI workbench, 346–347 Contributed classes, 276 Contribution Circles D Circle One, 4, 33–34, 89–90 Debugging Circle Three, 5, 281–282 components, 356–357 Circle Two, 4, 93–94, 275–280 options, 179–183 Circle Zero, 4 perspectives, 241 closing, 355–360 Declarations completing, 9, 33 Auto-test properties, 162–164 defined, 3–5 Declaration Definition (manifest), 17 Contribution Rule, 15, 247 extension points, 69–71 Contributions implementation/declaration split, 16 actions, 57, 127 Defensive API Rule, 266 context menu extensions, 124–128 Deltas, resource contributors, 224–228 listeners v. builders, 152 declaration/implementation split, 16 resetting colors, 235–238 Eclipse architecture, 15–16 tracking Java element changes, 316–317 editors, 219–223 tracking resource changes, 304–305 extending, 2–3 Der Plan, 35 Hello button, 15–16 Design patterns. See Patterns, design invitation to make, 359–360 dev.eclipse.org, 359 JUnit plug-ins, testing, 100–103 Dialog implementors, 166 Lazy Loading Rule, 16, 44 DirtyListener, 234 menu. See Menu contributions Diversity Rule, 67 objects, 40, 125, 353 Doc.zip files, 255 overcoming inertia in making, 9 Domain objects, 207 plug-ins, publishing, 86–88 Dynamic enablement, menu item behavior, 57 precision, 45 Dynamic registration, listeners, 263 Relevance Rule, 43 RunTestAction, 254–255 submenus, 57 E views, 107–111 Eclipse Core runtime, 283–287 architecture, 5–7 Gamma-Beck.book Page 384 Tuesday, October 14, 2003 7:27 PM 384 Index Eclipse, continued Error dialog, 173–175 basics, 3 Events, JFace, 210–215 design principles, 4 Exception handling feature structure, 84 CoreException, 172–173 host, 94–95 error dialogs, 173–175 Java development tools (JDT), 5–7 IStatus, 172–173 JUnit. See JUnit logging errors, 175–177 learning about, 3–4 overview, 171–172 levels of applying, 1–3 ExcludeTestAction, 224–227 plug-in activation, 75 Excluding tests. See Editors, excluding tests plug-in architecture, 5 Execute Around Method, 302–305 Plug-In Development Environment (PDE), Explicit API Rule, 266 5–7 Explicit Extension Rule, 66–67 Run-Time, 94–95, 100 Extenders, 2 startup times, 89 Extensible Markup Language (XML), 16–17 test-driven plug-in development. See Extension Interface, 285–287, 294 Test-driven plug-in development “Extension Interface,” 285 user programming, enabling, 1 Extension Object, 285–287, 294 viewing test results. See Viewing test results Extension point schemas, 197–199, Editors 268–272 Rerun Marker Resolution, 187 Extension points, 74–75 test cases, 210–212 declaring, 69–71, 355 user interface (UI) workbench, 350–351 defined, 5 workbench, saving, 187, 192 Diversity Rule, 67 Editors, excluding tests explicit declaration, 355 contributing contributors, 224–228 Explicit Extension Rule, 66–67 contributing editors, 219–223 Fair Play Rule, 66 forward pointers, 228–229 Invitation Rule, 65–66 overview, 217–219 listeners, 68–69, 71–74 User Arbitration Rule, 222 loading, 71–74 views v. editors, 221 markerImageProvider, 142 Element trees overview, 65 composite, 313–314 property pages, 162 Extension Point, 270 publishing, 268–272 Grammar, 270 searching for, 40–42 scalability issues, 310 team component, 358 storing resource information, 299 Extensions Elements, Java context menus, 124–128 (virtual) proxies, 309–313 contributions, 16 Adapters, 308–309 defined, 5 filtering, 341–342 IExecutableExtension, 75 resources, 308–309 instantiation, 74 ResultView changes, listening to, 232–233 notifying, 77–78 tracking changes using Observer, 316–317 perspective, 241–244 trees. See Element trees test report view, 197 Enablers, defined, 2 Externalize String Wizard, 259 Gamma-Beck.book Page 385 Tuesday, October 14, 2003 7:27 PM Index 385 F Test Report View, 215–216 Factories test results, displaying, 63 adapters, 288–294 tracing, 179–183 IElementFactory, 350 Fragments, 260 Failed tests, 129–130. See also Markers FTP Plug-Ins, 88 Fair Play Rule, 66, 120, 122 Feature Plug-Ins, 88 feature.properties file, 280 G Features getAdapter() method, 287–288, 292 bundling plug-ins, 83–86 Global actions, 216 publishing plug-ins, 86–87 Good Fences Rule, 77–78 File-system resources, 296–299 Grammar, element, 270–271 FileWithProperties, 289 Granularity, 152 FillLayout algorithm, 332 GridLayout Filters algorithm, 332 actions, 128, 354 auto-testing property pages, 167 elements, 341 defining SWT layout strategy, 331 IActionFilter, 354 Resource Navigator, 341–342 test result view, 215 H tests, 218–219 Handles Finding tests, 147–150 resources, 296–299 Fixtures, creating with TestProject, 98–100 virtual proxies, 309–310 Flexibility v. performance, 355 Handling events. See Events, JFace FormLayout algorithm, 332 Heartbeat, 152 Forward pointers Hello button accessibility, 262 action implementation, 25–26 adding button to toolbar, 31 action sets, 23–24 auto-test properties, 170 Conformance Rule, 26 builders, 159 default implementations, 27 context menus, 128 forward pointers, 31 editors, excluding tests with, 228–229 Lazy Loading Rule, 29–30 extension points, defining, 74–75 manifest file, 21 final, 354–359 overview, 15–16 help, 255 plug-in project, creating, 18–20 instrumenting, 179–183 proxy actions, 29–30 Internationalization, 262 run-time workbench, 22–24 linked v. copied contents, 14 Sharing Rule, 23–24 marker resolution,

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    15 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us