2011-07-26 35 views
2

我知道GAE客戶端庫的源代碼是here
望着下面的頁面:Google App Engine Java:「CompiledCursor」的源代碼在哪裏?

http://code.google.com/p/googleappengine/source/browse/trunk/java/src/main/com/google/appengine/api/datastore/Cursor.java

..我看到第6行此導入:

import com.google.apphosting.api.DatastorePb.CompiledCursor; 

現在,這裏是指在確定這門課嗎?搜索了SVN,沒有找到任何東西。我正在尋找它的源代碼(用Java),以便理解一些內部的東西。

順便說一句 - 「Pb」代表什麼?在GAE的代碼中看到很多。

謝謝!

回答

2

這個類不是(當前)發佈的資源的一部分。這並不是因爲它需要超級祕密或任何其他方式 - 它只是包含我們尚未抽象公開發布的內部實現細節。由於這是一個沒有記錄的內部實現細節,因此清理它並釋放源代碼可能不是一個高優先級。在這種情況下(並回答你的其他問題),這是一個編譯Protocol Buffer,所以你不會找到源特別指導 - 它是機器生成的。

+0

剛剛意識到你來自GAE團隊 - 很高興在這裏有像你這樣的人! (:這個問題的最終目的是爲了能夠人工創建Cursor對象,我想創建幾個並將它們傳遞給幾個任務,甚至可以創建自己的Cursor對象,還是嚴格來自數據存儲? – Poni

+0

@Poni根據什麼創建遊標?數據存儲發佈它們,其內容是實現細節。 –

+0

我還不夠清楚 - 根據偏移號創建遊標,就像從第500個實體開始的遊標一樣而另一個將從第1000個實體開始,我覺得這是不可能的,但是誰知道,所以我可以創建自定義光標嗎? – Poni

2

我不認爲這個類是公共API的一部分。如您所見,DatastorePb的包名稱(com.google。apphosting .api)與API包com.google不同。 appengine .api。

該類實際上甚至沒有列在包的JavaDocs中:http://code.google.com/appengine/docs/java/javadoc/com/google/apphosting/api/package-summary.html,所以我會說這些源不是公開的。

但是,在Java基於字節碼的情況下,有可能對.class文件進行反編譯(注意在某些國家這可能是非法的,如果我沒有記錯,至少在這種情況下允許在美國)。

類可以在GAE SDK可以發現,下SDK基 /lib/user/appengine-api-1.0-sdk- 版本的.jar/COM /谷歌/ apphosting/API/

+0

我注意到它在另一個包中 - 我希望別人能爲我更好的回答..並且 - 我在以色列 - 法律是一個主觀的問題哈哈! :)(開玩笑,我是一個嚴格的法律追隨者!) – Poni

+0

只有當你被抓住時,法律纔是重要的.. :)另外,我嘗試了谷歌搜索包:http://www.google.se/search q =%22package%20com.google.apphosting.api%22。由於DatastorePb類必須在源代碼中包含該聲明,因此我發現源代碼的機會很小。也許你可以向Google詢問消息來源? –

+0

任何人都比我們知道更好嗎? – Poni