Skip to main content
Jump to: navigation, search

Difference between revisions of "OTDT/NonAPI"

Line 1: Line 1:
 
For the sake of a smooth and deep integration into the JDT the OTDT connects
 
For the sake of a smooth and deep integration into the JDT the OTDT connects
to other plugins using some non-API mechanisms. The extent and rationale is
+
to other plugins using these non-API mechanisms:
documented on this page.
+
* Adaptation using [[:Category:OTEquinox|OT/Equinox]] with [[Image:Team_obj.gif]] Team and Role classes.
 +
* Accessing internal classes
 +
The extent and rationale is documented on this page.
  
 
==Affected plugins==
 
==Affected plugins==
Line 45: Line 47:
 
** also: access to two internal constants from DebugUIMessages
 
** also: access to two internal constants from DebugUIMessages
  
 +
===org.eclipse.jdt.junit===
 +
Accessed by:
 +
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.debug.adaptor
 +
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor3.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file DebugUIDialogAdaptor3] -- add new "Team Activation" tab to JUnitTabGroup
  
 +
===org.eclipse.debug.core===
 +
Accessed by:
 +
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.debug.adaptor
 +
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/LaunchConfigurationInitializer.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file LaunchConfigurationInitializer] -- initialize an additional launch configuration attribute depending on the project nature.
  
 
===org.eclipse.debug.ui===
 
===org.eclipse.debug.ui===
 
Accessed by:
 
Accessed by:
 +
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.debug.adaptor
 
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file DebugUIDialogAdaptor] -- facility for adding a new "Team Activation" tab to various launch configuration dialogs
 
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file DebugUIDialogAdaptor] -- facility for adding a new "Team Activation" tab to various launch configuration dialogs
 +
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptorActivator.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file PresentationAdaptorActivator] -- conditionally enable beautification of stack frames for generated code (only for OT launches)
 +
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/VariablesViewAdaptor.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file VariablesViewAdaptor] -- filter synthetic variables from the view (configurable via a preference)
 +
 +
  
  
Line 60: Line 75:
 
Accessed by:
 
Accessed by:
 
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.debug.adaptor
 
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.debug.adaptor
 +
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/PDELaunchingAdaptor.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file PDELaunchingAdaptor] -- add OT/Equinox checkbox to all OSGi related launch configuration dialogs (JREBlock)
 
** also: access to an internal constant from IPDEUIConstants
 
** also: access to an internal constant from IPDEUIConstants
 +
 +
===org.eclipse.pde.launching===
 +
Accessed by:
 +
* [[Image:Plugin_obj.gif]] org.eclipse.objectteams.otdt.debug.adaptor
 +
** [[Image:Team_obj.gif]] [http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/PDELaunchingAdaptor.java?view=markup&root=TOOLS_OBJECTTEAMS&sortby=file PDELaunchingAdaptor] -- conditionally enable OT/Equinox runtime for all OSGi related launches
  
 
===org.eclipse.core.resources===
 
===org.eclipse.core.resources===

Revision as of 11:06, 25 November 2010

For the sake of a smooth and deep integration into the JDT the OTDT connects to other plugins using these non-API mechanisms:

  • Adaptation using OT/Equinox with Team obj.gif Team and Role classes.
  • Accessing internal classes

The extent and rationale is documented on this page.

Affected plugins

org.eclipse.jdt.core

The OTDT contains a variant of the jdt.core plugin as described here.

Additionally, the following OT plugins access internals of the JDT/Core:

  • Plugin obj.gif org.eclipse.objectteams.otdt
    • Team obj.gif OTTypeHierarchies -- This team adapts the TypeHierarchy mechanism to account for implicit inheritance
  • Plugin obj.gif org.eclipse.objectteams.otdt.apt
    • Team obj.gif VisitorsAdaptor -- This team accesses internal classes for adapting annotation processing (APT)
  • Plugin obj.gif org.eclipse.objectteams.otdt.compiler.adaptor
    • Multiple Team classes -- adaptations for the following purposes
      • ensure the incremental builder respects implicit role inheritance as a trigger for rebuilding affected classes
      • make information from aspectBindings available for checking imports and specifically base imports during compilation


org.eclipse.jdt.core.apt

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.apt
    • Team obj.gif VisitorsAdaptor -- This team adapts the AnnotationDiscoveryVisitor so that it will finds annotations of method bindings (callin/callout) and their arguments, too.

org.eclipse.jdt.ui

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor


org.eclipse.jdt.debug

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor

org.eclipse.jdt.debug.ui

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor
    • Team obj.gif PresentationAdaptorActivator -- beautify stackframes relating to generated code (manages activation of PresentationAdaptor)
    • Team obj.gif DebugUIDialogAdaptor2 -- add new "Team Activation" tab to LocalJavaApplicationTabGroup
    • Team obj.gif JDTDebugUILaunchingAdaptor -- add OT/J checkbox to JavaJRETab and JavaConnectTab
    • Team obj.gif OTToggleBreakpointAdapter -- replace ToggleBreakPointAdapter with a variant that handles implicit role inheritance and non-Java elements (callout/callin method binding)
    • also: access to two internal constants from DebugUIMessages

org.eclipse.jdt.junit

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor

org.eclipse.debug.core

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor

org.eclipse.debug.ui

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor



org.eclipse.pde.core

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.compiler.adaptor
    • Team obj.gif PDEAdaptor -- feed information about aspectBindings into the compiler for access checking

org.eclipse.pde.ui

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor
    • Team obj.gif PDELaunchingAdaptor -- add OT/Equinox checkbox to all OSGi related launch configuration dialogs (JREBlock)
    • also: access to an internal constant from IPDEUIConstants

org.eclipse.pde.launching

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.debug.adaptor

org.eclipse.core.resources

Accessed by:

  • Plugin obj.gif org.eclipse.objectteams.otdt.compiler.adaptor
    • Team obj.gif ResourceProjectAdaptor -- decorate objects of type Project to store two more fields if the project is an OT/Equinox project.

Status: List of OT-plugins processed:

  • org.eclipse.objectteams.otdt
  • org.eclipse.objectteams.otdt.apt
  • org.eclipse.objectteams.otdt.compiler.adaptor
  • org.eclipse.objectteams.otdt.debug

Back to the top