【问题标题】:Google App Engine Java: Where is the source code of "CompiledCursor"?Google App Engine Java:“CompiledCursor”的源代码在哪里?
【发布时间】:2011-07-26 12:22:05
【问题描述】:

我知道 GAE 的客户端库的源代码是here
查看以下页面:

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 的代码中经常看到这一点。

谢谢!

【问题讨论】:

    标签: java google-app-engine


    【解决方案1】:

    此类(当前)不是已发布源的一部分。这并不是因为它需要超级机密或任何信息 - 它只是包含我们尚未抽象出来以公开发布的内部实现细节。由于它是一个未记录的内部实现细节,因此清理它并发布源代码可能不是高优先级。在这种情况下(并回答您的其他问题),它是一个已编译的 Protocol Buffer,因此无论如何您都不会发现源代码特别有指导意义 - 它是机器生成的。

    【讨论】:

    • 刚刚意识到您来自 GAE 团队 - 很高兴有像您这样的人在这里! (:关于这个问题,我的最终目标是能够人为地创建 Cursor 对象。我想创建几个并将它们传递给几个任务。甚至可以创建我自己的 Cursor 对象还是严格来自数据存储?
    • @Poni 基于什么创建游标?数据存储区发布它们,它们的内容是实现细节。
    • 我不够清楚 - 根据偏移量创建游标,例如从第 500 个实体开始的游标和从第 1000 个实体开始的游标,依此类推。我有一种感觉,这是不可能的,但谁知道呢。那么,我可以以某种方式创建自定义光标吗?
    • 这是不可能的 - 光标将结果集中的特定位置添加为书签,而不是结果偏移量。把它想象成通过写下您尝试过的姓氏而不是它所在的页码来在电话簿中占据一席之地。
    • 喜欢链表?你的意思是它把它的最后一个位置保存为一个指向对象的指针,就像我们在链表中一样?
    【解决方案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 base/lib/user/appengine-api-1.0-sdk-version.jar/com/google 下找到/apphosting/api/

    【讨论】:

    • 我注意到它在另一个包中 - 我希望其他人能为我提供更好的答案.. 并且 - 我在以色列 - 法律是一个主观问题哈哈! :)(开玩笑,我是个严格的法律追随者!)
    • 法律只有在你被抓到时才重要.. :) 另外,我尝试用谷歌搜索包裹:google.se/search?q=%22package%20com.google.apphosting.api%22。由于 DatastorePb 类必须在源中具有该声明,因此我认为找到源的可能性很小。或许您可以向 Google 询问来源?
    • 请问有谁比我们更了解?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    • 2011-03-03
    • 2020-01-08
    相关资源
    最近更新 更多