Java 元素和資源

Java 模型是一組類別,可將建立、編輯和建置 Java 程式相關聯的物件模塑化。 Java 模型類別定義於 org.eclipse.jdt.core.* 套件中。這些類別實作資源的 Java 特定操作方式,並進一步將 Java 資源分解成模型元 素。

Java 元素

套件 org.eclipse.jdt.core 定義類別,可將組成一個 Java 程式的元素模型化。 JDT 使用一個記憶體中物件模型來呈現 Java 程式的結構。 此模型為階層式。一個程式的元素可分解成數個子元素。

Java 元素十分類似資源物件。當您使用 Java 元素時,實際上是使用一個 控點來處理一些基礎的模型物件。您必須使用 exists() 通信 協定來判斷元素是否確實存在於工作區。

下列表格彙總各種不同的 Java 元素。

元素

說明

IJavaModel

代表對應於工作區的根 Java 元素。所有 Java 專案的母項。

IJavaProject

代表工作區中的一個 Java 專案。(IJavaModel 的子項)

IPackageFragmentRoot

代表一組套件片段,將片段對映到基礎的資源,可能是資料夾、JAR 或 ZIP 檔案。 (IJavaProject 的子項)

IPackageFragment

代表工作區的一部份,對應於整個套件或套件的一部份。 (IPackageFragmentRoot 的子項)

ICompilationUnit

代表 Java 原始檔 (.java)。

IPackageDeclaration

代表編譯單元中的一個套件宣告。(ICompilationUnit 的子項)

IImportContainer

代表編譯單元中匯入宣告的套件集成。(ICompilationUnit 的子項)

IImportDeclaration

代表單一套件匯入宣告。(IImportContainer 的子項)

IType

代表編譯單元中的一個原始類型,或類別檔中的一個二進位類型。

IField

代表類型中的一個欄位。(IType 的子項)

IMethod

代表類型中的一個方法或建構子。(IType 的子項)

IInitializer

代表類型中的一個靜態或實例起始設定程式。(IType 的子項)

IClassFile

代表一個已編譯的類型(二進位碼)。( IPackageFragment 的子項)

所有 Java 元素皆支援 IJavaElement 介面。

有些元素顯示在「套件」檢視畫面中。這些元素實作 IOpenable 介面,在導覽它們之前必須先開啟。下列圖例顯示「套件」檢視畫面中如何呈現這些 元素。

實作 IOpenable 的 Java 元素大多是從基礎的資源檔中找到的資訊來建立。相同的元素通常呈現在資源導覽器檢視畫面中。

其他元素對應於一個 Java 編譯單元(.java 檔案)的組成項目。下列圖例 顯示一個 Java 編譯單元和一個內容概略表,其中顯示編譯單元中的原始元素。

這些元素實作 ISourceReference 介面,因為有對應的原始碼。(在內容概略表中選取這些元素時,Java 編輯器中會 顯示其對應的原始碼)。

Java 元素及其資源

大部份 Java 元素對應於工作區中的通用資源。類別 JavaCore 是您使用一個通用資源來建立 Java 元素時的起點。 下列程式碼片段顯示如何從對應的資源中取得 Java 元素。

private void createJavaElementsFrom(IProject myProject, 
    IFolder myFolder, IFile myFile) {

    IJavaProject myJavaProject = JavaCore.create(myProject);
    if (myJavaProject == null)
        // 此專案非針對 Java 來配置(沒 有 Java 的性質)
        return;

    // 取得套件片段或套件片段根
    IJavaElement myPackageFragment = JavaCore.create(myFolder);

    // 取得 .java(編譯單元)、.class(類別檔)、或
    // .jar(套件片段根)
    IJavaElement myJavaFile = JavaCore.create(myFile);
}

JavaCore 亦用來維護 Java 類別路徑,包括用來尋找原始碼和程式庫的位置,以及產生輸出二 進位檔 (.class) 的位置。

當您使用空白專案建立 Java 專案時, JavaCore 將檢查並察看此專案是否配置有 Java 性質。JDT 外掛程式使用專案性 質來指認一個專案具備 Java 操作方式。當 "新增 Java 專案" 精靈建立專案時,此性質 (org.eclipse.jdt.core.javanature) 會分派到 專案中。如果一個專案中未配置 Java 性質,則要求 JavaCore 建立專案時,將傳回空值。

Java 專案有何不同?Java 專案在一個 ".classpath" 檔 案中記錄其類別路徑,並將 Java 漸進式專案建立器新增到專案的建置規格中。 否則只是一般的專案,可以由外掛程式來配置其他性質(以及其他漸進式建 立器)。 外掛程式除了自己的操作方式以外,若想以 Java 操作方式來配置專案,通常 會使用 " 新增 Java 專案"精靈頁面來指派自訂性質或操作方式之外的 Java 性質給專 案。

IJavaModel 可視為具有 Java 專案性質的工作區中所有專案的母項(因此 可視為 IJavaProject 。)