## JDT Core

JDT Core (org.eclipse.jdt.core) is the plug-in that defines the core Java elements and API. You should always list this plug-in as a prerequisite when you are developing Java specific features.

JDT Core packages give you access to the Java model objects and headless Java IDE infrastructure. The JDT Core packages include:

- org.eclipse.jdt.core - defines the classes that describe the Java model.
- org.eclipse.jdt.core.compiler - defines API for the compiler infrastructure.
- org.eclipse.jdt.core.dom - supports Abstract Syntax Trees (AST) that can be used for examining the structure of a compilation unit down to the statement level.
- org.eclipse.jdt.core.eval - supports the evaluation of code snippets in a scrapbook or inside the debugger.
- org.eclipse.jdt.core.jdom - supports a Java Document Object Model (DOM) that can be used for walking the structure of a Java compilation unit.
- org.eclipse.jdt.core.search - supports searching the workspace's Java model for Java elements match a particular description.
- org.eclipse.jdt.core.util - provides utility classes for manipulating .class files and Java model elements.

Manipulation of the structure of a compilation unit should be done using `org.eclipse.jdt.core.dom` instead of `org.eclipse.jdt.core.jdom`. `org.eclipse.jdt.core.jdom` will be deprecated in the 2.2. stream and replaced with `org.eclipse.jdt.core.dom`.