appengine-sdk 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. data/COPYING +97 -0
  2. data/appengine-java-sdk-1.2.2/ABOUT +24 -0
  3. data/appengine-java-sdk-1.2.2/COPYING +97 -0
  4. data/appengine-java-sdk-1.2.2/README +98 -0
  5. data/appengine-java-sdk-1.2.2/config/sdk/logging.properties +24 -0
  6. data/appengine-java-sdk-1.2.2/config/user/ant-macros.xml +106 -0
  7. data/appengine-java-sdk-1.2.2/config/user/log4j.properties +24 -0
  8. data/appengine-java-sdk-1.2.2/config/user/logging.properties +28 -0
  9. data/appengine-java-sdk-1.2.2/docs/appengine-web.dtd +34 -0
  10. data/appengine-java-sdk-1.2.2/docs/appengine-web.xsd +85 -0
  11. data/appengine-java-sdk-1.2.2/docs/cron.dtd +7 -0
  12. data/appengine-java-sdk-1.2.2/docs/cron.xsd +20 -0
  13. data/appengine-java-sdk-1.2.2/docs/datastore-indexes.dtd +11 -0
  14. data/appengine-java-sdk-1.2.2/docs/datastore-indexes.xsd +40 -0
  15. data/appengine-java-sdk-1.2.2/docs/javadoc/allclasses-frame.html +163 -0
  16. data/appengine-java-sdk-1.2.2/docs/javadoc/allclasses-noframe.html +163 -0
  17. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/Blob.html +341 -0
  18. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/DataTypeTranslator.ComparableByteArray.html +308 -0
  19. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/DataTypeTranslator.html +419 -0
  20. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/DataTypeUtils.html +411 -0
  21. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/DatastoreConfig.html +248 -0
  22. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/DatastoreFailureException.html +262 -0
  23. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/DatastoreNeedIndexException.html +245 -0
  24. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/DatastoreService.html +787 -0
  25. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/DatastoreServiceFactory.html +298 -0
  26. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/DatastoreTimeoutException.html +246 -0
  27. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/Entity.html +805 -0
  28. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/EntityNotFoundException.html +271 -0
  29. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/EntityTranslator.html +241 -0
  30. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/FetchOptions.Builder.html +305 -0
  31. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/FetchOptions.html +382 -0
  32. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/ImplicitTransactionManagementPolicy.html +351 -0
  33. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/Key.html +524 -0
  34. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/KeyFactory.Builder.html +410 -0
  35. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/KeyFactory.html +505 -0
  36. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/Link.html +364 -0
  37. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/PreparedQuery.TooManyResultsException.html +247 -0
  38. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/PreparedQuery.html +410 -0
  39. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/Query.FilterOperator.html +376 -0
  40. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/Query.FilterPredicate.html +373 -0
  41. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/Query.SortDirection.html +327 -0
  42. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/Query.SortPredicate.html +338 -0
  43. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/Query.html +702 -0
  44. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/ShortBlob.html +365 -0
  45. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/Text.html +344 -0
  46. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/Transaction.html +287 -0
  47. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/package-frame.html +117 -0
  48. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/package-summary.html +405 -0
  49. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/datastore/package-tree.html +183 -0
  50. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/images/Composite.Anchor.html +441 -0
  51. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/images/Composite.html +243 -0
  52. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/images/CompositeTransform.html +252 -0
  53. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/images/Image.Format.html +391 -0
  54. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/images/Image.html +345 -0
  55. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/images/ImagesService.OutputEncoding.html +327 -0
  56. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/images/ImagesService.html +452 -0
  57. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/images/ImagesServiceFactory.html +534 -0
  58. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/images/ImagesServiceFailureException.html +248 -0
  59. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/images/Transform.html +234 -0
  60. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/images/package-frame.html +77 -0
  61. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/images/package-summary.html +257 -0
  62. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/images/package-tree.html +178 -0
  63. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/mail/MailService.Attachment.html +291 -0
  64. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/mail/MailService.Message.html +763 -0
  65. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/mail/MailService.html +280 -0
  66. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/mail/MailServiceFactory.html +257 -0
  67. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/mail/package-frame.html +47 -0
  68. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/mail/package-summary.html +224 -0
  69. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/mail/package-tree.html +156 -0
  70. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/memcache/ErrorHandler.html +251 -0
  71. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/memcache/Expiration.html +347 -0
  72. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/memcache/InvalidValueException.html +264 -0
  73. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/memcache/LogAndContinueErrorHandler.html +297 -0
  74. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/memcache/MemcacheService.SetPolicy.html +351 -0
  75. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/memcache/MemcacheService.html +808 -0
  76. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/memcache/MemcacheServiceException.html +262 -0
  77. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/memcache/MemcacheServiceFactory.html +231 -0
  78. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/memcache/Stats.html +319 -0
  79. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/memcache/StrictErrorHandler.html +291 -0
  80. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/memcache/package-frame.html +77 -0
  81. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/memcache/package-summary.html +271 -0
  82. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/memcache/package-tree.html +175 -0
  83. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/urlfetch/FetchOptions.Builder.html +305 -0
  84. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/urlfetch/FetchOptions.html +414 -0
  85. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/urlfetch/HTTPHeader.html +292 -0
  86. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/urlfetch/HTTPMethod.html +373 -0
  87. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/urlfetch/HTTPRequest.html +490 -0
  88. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/urlfetch/HTTPResponse.html +286 -0
  89. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/urlfetch/ResponseTooLargeException.html +244 -0
  90. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/urlfetch/URLFetchService.html +260 -0
  91. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/urlfetch/URLFetchServiceFactory.html +250 -0
  92. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/urlfetch/package-frame.html +75 -0
  93. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/urlfetch/package-summary.html +251 -0
  94. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/urlfetch/package-tree.html +177 -0
  95. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/users/User.html +411 -0
  96. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/users/UserService.html +318 -0
  97. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/users/UserServiceFactory.html +223 -0
  98. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/users/UserServiceFailureException.html +244 -0
  99. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/users/package-frame.html +56 -0
  100. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/users/package-summary.html +239 -0
  101. data/appengine-java-sdk-1.2.2/docs/javadoc/com/google/appengine/api/users/package-tree.html +164 -0
  102. data/appengine-java-sdk-1.2.2/docs/javadoc/constant-values.html +274 -0
  103. data/appengine-java-sdk-1.2.2/docs/javadoc/deprecated-list.html +159 -0
  104. data/appengine-java-sdk-1.2.2/docs/javadoc/dev_javadoc.css +109 -0
  105. data/appengine-java-sdk-1.2.2/docs/javadoc/help-doc.html +217 -0
  106. data/appengine-java-sdk-1.2.2/docs/javadoc/index-all.html +1413 -0
  107. data/appengine-java-sdk-1.2.2/docs/javadoc/index.html +39 -0
  108. data/appengine-java-sdk-1.2.2/docs/javadoc/overview-frame.html +52 -0
  109. data/appengine-java-sdk-1.2.2/docs/javadoc/overview-summary.html +179 -0
  110. data/appengine-java-sdk-1.2.2/docs/javadoc/overview-tree.html +194 -0
  111. data/appengine-java-sdk-1.2.2/docs/javadoc/package-list +6 -0
  112. data/appengine-java-sdk-1.2.2/docs/javadoc/resources/inherit.gif +0 -0
  113. data/appengine-java-sdk-1.2.2/docs/javadoc/serialized-form.html +958 -0
  114. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/allclasses-frame.html +97 -0
  115. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/allclasses-noframe.html +97 -0
  116. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/KickStart.html +258 -0
  117. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/admin/AdminException.html +263 -0
  118. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/admin/AppAdmin.LogSeverity.html +375 -0
  119. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/admin/AppAdmin.html +380 -0
  120. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/admin/AppAdminFactory.ConnectOptions.html +627 -0
  121. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/admin/AppAdminFactory.PasswordPrompt.html +211 -0
  122. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/admin/AppAdminFactory.html +434 -0
  123. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/admin/Application.html +493 -0
  124. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/admin/UpdateFailureEvent.html +269 -0
  125. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/admin/UpdateListener.html +254 -0
  126. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/admin/UpdateProgressEvent.html +272 -0
  127. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/admin/UpdateSuccessEvent.html +226 -0
  128. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/admin/package-frame.html +79 -0
  129. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/admin/package-summary.html +227 -0
  130. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/admin/package-tree.html +173 -0
  131. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/AbstractContainerService.html +497 -0
  132. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/ApiProxyLocal.html +285 -0
  133. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/ApiProxyLocalFactory.html +307 -0
  134. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/ApiProxyLocalImpl.html +370 -0
  135. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/ContainerService.EnvironmentVariableMismatchSeverity.html +327 -0
  136. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/ContainerService.html +437 -0
  137. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/DevAppServer.html +459 -0
  138. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/DevAppServerFactory.html +262 -0
  139. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/DevAppServerMain.html +300 -0
  140. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/gwt/AppEngineLauncher.html +262 -0
  141. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/gwt/package-frame.html +32 -0
  142. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/gwt/package-summary.html +155 -0
  143. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/gwt/package-tree.html +153 -0
  144. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/package-frame.html +66 -0
  145. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/package-summary.html +214 -0
  146. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/development/package-tree.html +168 -0
  147. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/enhancer/Enhance.html +268 -0
  148. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/enhancer/Enhancer.html +298 -0
  149. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/enhancer/EnhancerTask.html +505 -0
  150. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/enhancer/package-frame.html +36 -0
  151. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/enhancer/package-summary.html +163 -0
  152. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/enhancer/package-tree.html +153 -0
  153. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/info/LocalVersionFactory.html +256 -0
  154. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/info/RemoteVersionFactory.html +266 -0
  155. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/info/SdkInfo.html +419 -0
  156. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/info/SupportInfo.html +225 -0
  157. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/info/UpdateCheck.html +349 -0
  158. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/info/UpdateCheckResults.VersionComparator.html +281 -0
  159. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/info/UpdateCheckResults.html +374 -0
  160. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/info/Version.html +329 -0
  161. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/info/package-frame.html +46 -0
  162. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/info/package-summary.html +195 -0
  163. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/info/package-tree.html +152 -0
  164. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/package-frame.html +32 -0
  165. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/package-summary.html +155 -0
  166. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/package-tree.html +151 -0
  167. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/util/ApiVersionFinder.html +302 -0
  168. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/util/package-frame.html +32 -0
  169. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/util/package-summary.html +156 -0
  170. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/com/google/appengine/tools/util/package-tree.html +151 -0
  171. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/constant-values.html +196 -0
  172. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/deprecated-list.html +144 -0
  173. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/dev_javadoc.css +109 -0
  174. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/help-doc.html +217 -0
  175. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/index-all.html +784 -0
  176. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/index.html +39 -0
  177. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/overview-frame.html +54 -0
  178. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/overview-summary.html +173 -0
  179. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/overview-tree.html +179 -0
  180. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/package-list +7 -0
  181. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/resources/inherit.gif +0 -0
  182. data/appengine-java-sdk-1.2.2/docs/tools/javadoc/serialized-form.html +461 -0
  183. data/appengine-java-sdk-1.2.2/lib/appengine-tools-api.jar +0 -0
  184. data/appengine-java-sdk-1.2.2/lib/impl/appengine-api-stubs.jar +0 -0
  185. data/appengine-java-sdk-1.2.2/lib/impl/appengine-api.jar +0 -0
  186. data/appengine-java-sdk-1.2.2/lib/impl/appengine-local-runtime.jar +0 -0
  187. data/appengine-java-sdk-1.2.2/lib/shared/appengine-local-runtime-shared.jar +0 -0
  188. data/appengine-java-sdk-1.2.2/lib/shared/geronimo-el_1.0_spec-1.0.1.jar +0 -0
  189. data/appengine-java-sdk-1.2.2/lib/shared/geronimo-jsp_2.1_spec-1.0.1.jar +0 -0
  190. data/appengine-java-sdk-1.2.2/lib/shared/geronimo-servlet_2.5_spec-1.2.jar +0 -0
  191. data/appengine-java-sdk-1.2.2/lib/shared/jsp/LICENSE +203 -0
  192. data/appengine-java-sdk-1.2.2/lib/shared/jsp/repackaged-appengine-ant-1.6.5.jar +0 -0
  193. data/appengine-java-sdk-1.2.2/lib/shared/jsp/repackaged-appengine-ant-launcher-1.6.5.jar +0 -0
  194. data/appengine-java-sdk-1.2.2/lib/shared/jsp/repackaged-appengine-commons-el-1.0.jar +0 -0
  195. data/appengine-java-sdk-1.2.2/lib/shared/jsp/repackaged-appengine-commons-logging-1.1.1.jar +0 -0
  196. data/appengine-java-sdk-1.2.2/lib/shared/jsp/repackaged-appengine-jasper-compiler-5.0.28.jar +0 -0
  197. data/appengine-java-sdk-1.2.2/lib/shared/jsp/repackaged-appengine-jasper-runtime-5.0.28.jar +0 -0
  198. data/appengine-java-sdk-1.2.2/lib/tools/jsp/LICENSE +203 -0
  199. data/appengine-java-sdk-1.2.2/lib/tools/jsp/repackaged-appengine-jakarta-jstl-1.1.2.jar +0 -0
  200. data/appengine-java-sdk-1.2.2/lib/tools/jsp/repackaged-appengine-jakarta-standard-1.1.2.jar +0 -0
  201. data/appengine-java-sdk-1.2.2/lib/user/appengine-api-1.0-sdk-1.2.2.jar +0 -0
  202. data/lib/appengine-sdk.rb +96 -0
  203. metadata +256 -0
@@ -0,0 +1,245 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <!--NewPage-->
3
+ <HTML>
4
+ <HEAD>
5
+ <!-- Generated by javadoc (build 1.6.0-google-internal) on Sun Jul 12 08:39:56 CDT 2009 -->
6
+ <TITLE>
7
+ DatastoreNeedIndexException
8
+ </TITLE>
9
+
10
+ <META NAME="date" CONTENT="2009-07-12">
11
+
12
+ <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../dev_javadoc.css" TITLE="Style">
13
+
14
+ <SCRIPT type="text/javascript">
15
+ function windowTitle()
16
+ {
17
+ if (location.href.indexOf('is-external=true') == -1) {
18
+ parent.document.title="DatastoreNeedIndexException";
19
+ }
20
+ }
21
+ </SCRIPT>
22
+ <NOSCRIPT>
23
+ </NOSCRIPT>
24
+
25
+ </HEAD>
26
+
27
+ <BODY BGCOLOR="white" onload="windowTitle();">
28
+ <HR>
29
+
30
+
31
+ <!-- ========= START OF TOP NAVBAR ======= -->
32
+ <A NAME="navbar_top"><!-- --></A>
33
+ <A HREF="#skip-navbar_top" title="Skip navigation links"></A>
34
+ <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
35
+ <TR>
36
+ <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
37
+ <A NAME="navbar_top_firstrow"><!-- --></A>
38
+ <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
39
+ <TR ALIGN="center" VALIGN="top">
40
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
41
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
42
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
43
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
44
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
45
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
46
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
47
+ </TR>
48
+ </TABLE>
49
+ </TD>
50
+ <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
51
+ </EM>
52
+ </TD>
53
+ </TR>
54
+
55
+ <TR>
56
+ <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
57
+ &nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/DatastoreFailureException.html" title="class in com.google.appengine.api.datastore"><B>PREV CLASS</B></A>&nbsp;
58
+ &nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html" title="interface in com.google.appengine.api.datastore"><B>NEXT CLASS</B></A></FONT></TD>
59
+ <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
60
+ <A HREF="../../../../../index.html?com/google/appengine/api/datastore/DatastoreNeedIndexException.html" target="_top"><B>FRAMES</B></A> &nbsp;
61
+ &nbsp;<A HREF="DatastoreNeedIndexException.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
62
+ &nbsp;<SCRIPT type="text/javascript">
63
+ <!--
64
+ if(window==top) {
65
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
66
+ }
67
+ //-->
68
+ </SCRIPT>
69
+ <NOSCRIPT>
70
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
71
+ </NOSCRIPT>
72
+
73
+
74
+ </FONT></TD>
75
+ </TR>
76
+ <TR>
77
+ <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
78
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
79
+ <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
80
+ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
81
+ </TR>
82
+ </TABLE>
83
+ <A NAME="skip-navbar_top"></A>
84
+ <!-- ========= END OF TOP NAVBAR ========= -->
85
+
86
+ <HR>
87
+ <!-- ======== START OF CLASS DATA ======== -->
88
+ <H2>
89
+ <FONT SIZE="-1">
90
+ com.google.appengine.api.datastore</FONT>
91
+ <BR>
92
+ Class DatastoreNeedIndexException</H2>
93
+ <PRE>
94
+ java.lang.Object
95
+ <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by ">java.lang.Throwable
96
+ <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by ">java.lang.Exception
97
+ <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by ">java.lang.RuntimeException
98
+ <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>com.google.appengine.api.datastore.DatastoreNeedIndexException</B>
99
+ </PRE>
100
+ <DL>
101
+ <DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
102
+ </DL>
103
+ <HR>
104
+ <DL>
105
+ <DT><PRE>public class <B>DatastoreNeedIndexException</B><DT>extends java.lang.RuntimeException</DL>
106
+ </PRE>
107
+
108
+ <P>
109
+ <code>DatastoreNeedIndexException</code> is thrown when no matching index was
110
+ found for a query requiring an index. Check the Indexes page in the Admin
111
+ Console and your datastore-indexes.xml file.
112
+ <P>
113
+
114
+ <P>
115
+ <DL>
116
+ <DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#com.google.appengine.api.datastore.DatastoreNeedIndexException">Serialized Form</A></DL>
117
+ <HR>
118
+
119
+ <P>
120
+
121
+ <!-- ======== CONSTRUCTOR SUMMARY ======== -->
122
+
123
+ <A NAME="constructor_summary"><!-- --></A>
124
+ <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
125
+ <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
126
+ <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
127
+ <B>Constructor Summary</B></FONT></TH>
128
+ </TR>
129
+ <TR BGCOLOR="white" CLASS="TableRowColor">
130
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreNeedIndexException.html#DatastoreNeedIndexException(java.lang.String)">DatastoreNeedIndexException</A></B>(java.lang.String&nbsp;message)</CODE>
131
+
132
+ <BR>
133
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
134
+ </TR>
135
+ </TABLE>
136
+ &nbsp;
137
+ <!-- ========== METHOD SUMMARY =========== -->
138
+
139
+ <A NAME="method_summary"><!-- --></A>
140
+ <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
141
+ <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
142
+ <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
143
+ <B>Method Summary</B></FONT></TH>
144
+ </TR>
145
+ </TABLE>
146
+ &nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
147
+ <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
148
+ <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
149
+ <TH ALIGN="left"><B>Methods inherited from class java.lang.Throwable</B></TH>
150
+ </TR>
151
+ <TR BGCOLOR="white" CLASS="TableRowColor">
152
+ <TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
153
+ </TR>
154
+ </TABLE>
155
+ &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
156
+ <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
157
+ <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
158
+ <TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
159
+ </TR>
160
+ <TR BGCOLOR="white" CLASS="TableRowColor">
161
+ <TD><CODE>equals, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
162
+ </TR>
163
+ </TABLE>
164
+ &nbsp;
165
+ <P>
166
+
167
+ <!-- ========= CONSTRUCTOR DETAIL ======== -->
168
+
169
+ <A NAME="constructor_detail"><!-- --></A>
170
+ <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
171
+ <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
172
+ <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
173
+ <B>Constructor Detail</B></FONT></TH>
174
+ </TR>
175
+ </TABLE>
176
+
177
+ <A NAME="DatastoreNeedIndexException(java.lang.String)"><!-- --></A><H3>
178
+ DatastoreNeedIndexException</H3>
179
+ <PRE>
180
+ public <B>DatastoreNeedIndexException</B>(java.lang.String&nbsp;message)</PRE>
181
+ <DL>
182
+ </DL>
183
+ <!-- ========= END OF CLASS DATA ========= -->
184
+ <HR>
185
+
186
+
187
+ <!-- ======= START OF BOTTOM NAVBAR ====== -->
188
+ <A NAME="navbar_bottom"><!-- --></A>
189
+ <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
190
+ <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
191
+ <TR>
192
+ <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
193
+ <A NAME="navbar_bottom_firstrow"><!-- --></A>
194
+ <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
195
+ <TR ALIGN="center" VALIGN="top">
196
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
197
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
198
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
199
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
200
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
201
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
202
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
203
+ </TR>
204
+ </TABLE>
205
+ </TD>
206
+ <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
207
+ </EM>
208
+ </TD>
209
+ </TR>
210
+
211
+ <TR>
212
+ <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
213
+ &nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/DatastoreFailureException.html" title="class in com.google.appengine.api.datastore"><B>PREV CLASS</B></A>&nbsp;
214
+ &nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html" title="interface in com.google.appengine.api.datastore"><B>NEXT CLASS</B></A></FONT></TD>
215
+ <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
216
+ <A HREF="../../../../../index.html?com/google/appengine/api/datastore/DatastoreNeedIndexException.html" target="_top"><B>FRAMES</B></A> &nbsp;
217
+ &nbsp;<A HREF="DatastoreNeedIndexException.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
218
+ &nbsp;<SCRIPT type="text/javascript">
219
+ <!--
220
+ if(window==top) {
221
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
222
+ }
223
+ //-->
224
+ </SCRIPT>
225
+ <NOSCRIPT>
226
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
227
+ </NOSCRIPT>
228
+
229
+
230
+ </FONT></TD>
231
+ </TR>
232
+ <TR>
233
+ <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
234
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
235
+ <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
236
+ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
237
+ </TR>
238
+ </TABLE>
239
+ <A NAME="skip-navbar_bottom"></A>
240
+ <!-- ======== END OF BOTTOM NAVBAR ======= -->
241
+
242
+ <HR>
243
+
244
+ </BODY>
245
+ </HTML>
@@ -0,0 +1,787 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <!--NewPage-->
3
+ <HTML>
4
+ <HEAD>
5
+ <!-- Generated by javadoc (build 1.6.0-google-internal) on Sun Jul 12 08:39:56 CDT 2009 -->
6
+ <TITLE>
7
+ DatastoreService
8
+ </TITLE>
9
+
10
+ <META NAME="date" CONTENT="2009-07-12">
11
+
12
+ <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../dev_javadoc.css" TITLE="Style">
13
+
14
+ <SCRIPT type="text/javascript">
15
+ function windowTitle()
16
+ {
17
+ if (location.href.indexOf('is-external=true') == -1) {
18
+ parent.document.title="DatastoreService";
19
+ }
20
+ }
21
+ </SCRIPT>
22
+ <NOSCRIPT>
23
+ </NOSCRIPT>
24
+
25
+ </HEAD>
26
+
27
+ <BODY BGCOLOR="white" onload="windowTitle();">
28
+ <HR>
29
+
30
+
31
+ <!-- ========= START OF TOP NAVBAR ======= -->
32
+ <A NAME="navbar_top"><!-- --></A>
33
+ <A HREF="#skip-navbar_top" title="Skip navigation links"></A>
34
+ <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
35
+ <TR>
36
+ <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
37
+ <A NAME="navbar_top_firstrow"><!-- --></A>
38
+ <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
39
+ <TR ALIGN="center" VALIGN="top">
40
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
41
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
42
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
43
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
44
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
45
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
46
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
47
+ </TR>
48
+ </TABLE>
49
+ </TD>
50
+ <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
51
+ </EM>
52
+ </TD>
53
+ </TR>
54
+
55
+ <TR>
56
+ <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
57
+ &nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/DatastoreNeedIndexException.html" title="class in com.google.appengine.api.datastore"><B>PREV CLASS</B></A>&nbsp;
58
+ &nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/DatastoreServiceFactory.html" title="class in com.google.appengine.api.datastore"><B>NEXT CLASS</B></A></FONT></TD>
59
+ <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
60
+ <A HREF="../../../../../index.html?com/google/appengine/api/datastore/DatastoreService.html" target="_top"><B>FRAMES</B></A> &nbsp;
61
+ &nbsp;<A HREF="DatastoreService.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
62
+ &nbsp;<SCRIPT type="text/javascript">
63
+ <!--
64
+ if(window==top) {
65
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
66
+ }
67
+ //-->
68
+ </SCRIPT>
69
+ <NOSCRIPT>
70
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
71
+ </NOSCRIPT>
72
+
73
+
74
+ </FONT></TD>
75
+ </TR>
76
+ <TR>
77
+ <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
78
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
79
+ <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
80
+ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
81
+ </TR>
82
+ </TABLE>
83
+ <A NAME="skip-navbar_top"></A>
84
+ <!-- ========= END OF TOP NAVBAR ========= -->
85
+
86
+ <HR>
87
+ <!-- ======== START OF CLASS DATA ======== -->
88
+ <H2>
89
+ <FONT SIZE="-1">
90
+ com.google.appengine.api.datastore</FONT>
91
+ <BR>
92
+ Interface DatastoreService</H2>
93
+ <HR>
94
+ <DL>
95
+ <DT><PRE>public interface <B>DatastoreService</B></DL>
96
+ </PRE>
97
+
98
+ <P>
99
+ The <code>DatastoreService</code> provides access to a schema-less data
100
+ storage system. The fundamental unit of data in this system is the
101
+ <code>Entity</code>, which has an immutable identity (represented by a
102
+ <code>Key</code>) and zero of more mutable properties. <code>Entity</code>
103
+ objects can be created, updated, deleted, retrieved by identifier,
104
+ and queried via a combination of properties.
105
+
106
+ The <code>DatastoreService</code> can be used transactionally and supports the
107
+ notion of a "current" transaction. A current transaction is established by
108
+ calling <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#beginTransaction()"><CODE>beginTransaction()</CODE></A>. The transaction returned by this method
109
+ ceases to be current when an attempt is made to commit or rollback or when
110
+ another call is made to <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#beginTransaction()"><CODE>beginTransaction()</CODE></A>. A transaction can only
111
+ be current within the Thread that created it.
112
+
113
+ The various overloads of put, get, and delete all support transactions.
114
+ Users of this class have the choice of explicitly passing a (potentially
115
+ <code>null</code>) <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore"><CODE>Transaction</CODE></A> to these methods or relying on the
116
+ behavior governed by the <A HREF="../../../../../com/google/appengine/api/datastore/ImplicitTransactionManagementPolicy.html" title="enum in com.google.appengine.api.datastore"><CODE>ImplicitTransactionManagementPolicy</CODE></A>.
117
+ If a user explicitly provides a <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore"><CODE>Transaction</CODE></A> it is up to the user to
118
+ call <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html#commit()"><CODE>Transaction.commit()</CODE></A> or <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html#rollback()"><CODE>Transaction.rollback()</CODE></A> at the
119
+ proper time. If a user relies on implicit transaction management and the
120
+ installed policy creates a transaction, that transaction will be committed
121
+ (in the case of a success) or rolled back (in the case of a failure) before
122
+ the operation returns to the user. The methods that manage
123
+ transactions according to <A HREF="../../../../../com/google/appengine/api/datastore/ImplicitTransactionManagementPolicy.html" title="enum in com.google.appengine.api.datastore"><CODE>ImplicitTransactionManagementPolicy</CODE></A> are:
124
+ <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#delete(com.google.appengine.api.datastore.Key...)"><CODE>delete(Key[])</CODE></A>, <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#delete(java.lang.Iterable)"><CODE>delete(Iterable)</CODE></A>, <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#get(com.google.appengine.api.datastore.Key)"><CODE>get(Key)</CODE></A>,
125
+ <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#get(java.lang.Iterable)"><CODE>get(Iterable)</CODE></A>, <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#put(com.google.appengine.api.datastore.Entity)"><CODE>put(Entity)</CODE></A>, and <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#put(java.lang.Iterable)"><CODE>put(Iterable)</CODE></A>.
126
+
127
+ The overload of prepare that takes a <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore"><CODE>Transaction</CODE></A> parameter
128
+ behaves the same as the overloads of put, get, and delete that take a
129
+ <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore"><CODE>Transaction</CODE></A> parameter. However, the overload of prepare that does
130
+ not take a <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore"><CODE>Transaction</CODE></A> parameter, unlike put, get, and delete, does
131
+ not use an existing <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore"><CODE>Transaction</CODE></A> if one is already running and does
132
+ not consult the <A HREF="../../../../../com/google/appengine/api/datastore/ImplicitTransactionManagementPolicy.html" title="enum in com.google.appengine.api.datastore"><CODE>ImplicitTransactionManagementPolicy</CODE></A> if one is not
133
+ already running.
134
+ <P>
135
+
136
+ <P>
137
+ <HR>
138
+
139
+ <P>
140
+
141
+ <!-- ========== METHOD SUMMARY =========== -->
142
+
143
+ <A NAME="method_summary"><!-- --></A>
144
+ <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
145
+ <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
146
+ <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
147
+ <B>Method Summary</B></FONT></TH>
148
+ </TR>
149
+ <TR BGCOLOR="white" CLASS="TableRowColor">
150
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
151
+ <CODE>&nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A></CODE></FONT></TD>
152
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#beginTransaction()">beginTransaction</A></B>()</CODE>
153
+
154
+ <BR>
155
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Begins a transaction against the datastore.</TD>
156
+ </TR>
157
+ <TR BGCOLOR="white" CLASS="TableRowColor">
158
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
159
+ <CODE>&nbsp;void</CODE></FONT></TD>
160
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#delete(java.lang.Iterable)">delete</A></B>(java.lang.Iterable&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&gt;&nbsp;keys)</CODE>
161
+
162
+ <BR>
163
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Equivalent to <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#delete(com.google.appengine.api.datastore.Key...)"><CODE>delete(Key...)</CODE></A>.</TD>
164
+ </TR>
165
+ <TR BGCOLOR="white" CLASS="TableRowColor">
166
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
167
+ <CODE>&nbsp;void</CODE></FONT></TD>
168
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#delete(com.google.appengine.api.datastore.Key...)">delete</A></B>(<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>...&nbsp;keys)</CODE>
169
+
170
+ <BR>
171
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deletes the <code>Entity entities</code> specified by <code>keys</code>.</TD>
172
+ </TR>
173
+ <TR BGCOLOR="white" CLASS="TableRowColor">
174
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
175
+ <CODE>&nbsp;void</CODE></FONT></TD>
176
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#delete(com.google.appengine.api.datastore.Transaction, java.lang.Iterable)">delete</A></B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;txn,
177
+ java.lang.Iterable&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&gt;&nbsp;keys)</CODE>
178
+
179
+ <BR>
180
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exhibits the same behavior as <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#delete(java.lang.Iterable)"><CODE>delete(Iterable)</CODE></A>, but executes within
181
+ the provided transaction.</TD>
182
+ </TR>
183
+ <TR BGCOLOR="white" CLASS="TableRowColor">
184
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
185
+ <CODE>&nbsp;void</CODE></FONT></TD>
186
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#delete(com.google.appengine.api.datastore.Transaction, com.google.appengine.api.datastore.Key...)">delete</A></B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;txn,
187
+ <A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>...&nbsp;keys)</CODE>
188
+
189
+ <BR>
190
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exhibits the same behavior as <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#delete(com.google.appengine.api.datastore.Key...)"><CODE>delete(Key[])</CODE></A>, but executes within
191
+ the provided transaction.</TD>
192
+ </TR>
193
+ <TR BGCOLOR="white" CLASS="TableRowColor">
194
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
195
+ <CODE>&nbsp;java.util.Map&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>,<A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A>&gt;</CODE></FONT></TD>
196
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#get(java.lang.Iterable)">get</A></B>(java.lang.Iterable&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&gt;&nbsp;keys)</CODE>
197
+
198
+ <BR>
199
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the set of <A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore"><CODE>Entities</CODE></A> matching <code>keys</code>.</TD>
200
+ </TR>
201
+ <TR BGCOLOR="white" CLASS="TableRowColor">
202
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
203
+ <CODE>&nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A></CODE></FONT></TD>
204
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#get(com.google.appengine.api.datastore.Key)">get</A></B>(<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&nbsp;key)</CODE>
205
+
206
+ <BR>
207
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the <code>Entity</code> with the specified <code>Key</code>.</TD>
208
+ </TR>
209
+ <TR BGCOLOR="white" CLASS="TableRowColor">
210
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
211
+ <CODE>&nbsp;java.util.Map&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>,<A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A>&gt;</CODE></FONT></TD>
212
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#get(com.google.appengine.api.datastore.Transaction, java.lang.Iterable)">get</A></B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;txn,
213
+ java.lang.Iterable&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&gt;&nbsp;keys)</CODE>
214
+
215
+ <BR>
216
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exhibits the same behavior as <CODE>#get(Iterable<Key>)</CODE>, but executes within
217
+ the provided transaction.</TD>
218
+ </TR>
219
+ <TR BGCOLOR="white" CLASS="TableRowColor">
220
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
221
+ <CODE>&nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A></CODE></FONT></TD>
222
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#get(com.google.appengine.api.datastore.Transaction, com.google.appengine.api.datastore.Key)">get</A></B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;txn,
223
+ <A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&nbsp;key)</CODE>
224
+
225
+ <BR>
226
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exhibits the same behavior as <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#get(com.google.appengine.api.datastore.Key)"><CODE>get(Key)</CODE></A>, but executes within
227
+ the provided transaction.</TD>
228
+ </TR>
229
+ <TR BGCOLOR="white" CLASS="TableRowColor">
230
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
231
+ <CODE>&nbsp;java.util.Collection&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&gt;</CODE></FONT></TD>
232
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#getActiveTransactions()">getActiveTransactions</A></B>()</CODE>
233
+
234
+ <BR>
235
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
236
+ </TR>
237
+ <TR BGCOLOR="white" CLASS="TableRowColor">
238
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
239
+ <CODE>&nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A></CODE></FONT></TD>
240
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#getCurrentTransaction()">getCurrentTransaction</A></B>()</CODE>
241
+
242
+ <BR>
243
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current transaction for this thread, or throws an exception if
244
+ there is no current transaction.</TD>
245
+ </TR>
246
+ <TR BGCOLOR="white" CLASS="TableRowColor">
247
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
248
+ <CODE>&nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A></CODE></FONT></TD>
249
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#getCurrentTransaction(com.google.appengine.api.datastore.Transaction)">getCurrentTransaction</A></B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;returnedIfNoTxn)</CODE>
250
+
251
+ <BR>
252
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current transaction for this thread, or returns the parameter
253
+ if there is no current transaction.</TD>
254
+ </TR>
255
+ <TR BGCOLOR="white" CLASS="TableRowColor">
256
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
257
+ <CODE>&nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/PreparedQuery.html" title="interface in com.google.appengine.api.datastore">PreparedQuery</A></CODE></FONT></TD>
258
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#prepare(com.google.appengine.api.datastore.Query)">prepare</A></B>(<A HREF="../../../../../com/google/appengine/api/datastore/Query.html" title="class in com.google.appengine.api.datastore">Query</A>&nbsp;query)</CODE>
259
+
260
+ <BR>
261
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepares a query for execution.</TD>
262
+ </TR>
263
+ <TR BGCOLOR="white" CLASS="TableRowColor">
264
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
265
+ <CODE>&nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/PreparedQuery.html" title="interface in com.google.appengine.api.datastore">PreparedQuery</A></CODE></FONT></TD>
266
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#prepare(com.google.appengine.api.datastore.Transaction, com.google.appengine.api.datastore.Query)">prepare</A></B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;txn,
267
+ <A HREF="../../../../../com/google/appengine/api/datastore/Query.html" title="class in com.google.appengine.api.datastore">Query</A>&nbsp;query)</CODE>
268
+
269
+ <BR>
270
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exhibits the same behavior as <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#prepare(com.google.appengine.api.datastore.Query)"><CODE>prepare(Query)</CODE></A>, but executes within
271
+ the provided transaction.</TD>
272
+ </TR>
273
+ <TR BGCOLOR="white" CLASS="TableRowColor">
274
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
275
+ <CODE>&nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A></CODE></FONT></TD>
276
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#put(com.google.appengine.api.datastore.Entity)">put</A></B>(<A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A>&nbsp;entity)</CODE>
277
+
278
+ <BR>
279
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If the specified <code>Entity</code> does not yet exist in the data
280
+ store, create it and assign its <code>Key</code>.</TD>
281
+ </TR>
282
+ <TR BGCOLOR="white" CLASS="TableRowColor">
283
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
284
+ <CODE>&nbsp;java.util.List&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&gt;</CODE></FONT></TD>
285
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#put(java.lang.Iterable)">put</A></B>(java.lang.Iterable&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A>&gt;&nbsp;entities)</CODE>
286
+
287
+ <BR>
288
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Performs a batch <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#put(com.google.appengine.api.datastore.Entity)"><CODE>put</CODE></A> of all <code>entities</code>.</TD>
289
+ </TR>
290
+ <TR BGCOLOR="white" CLASS="TableRowColor">
291
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
292
+ <CODE>&nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A></CODE></FONT></TD>
293
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#put(com.google.appengine.api.datastore.Transaction, com.google.appengine.api.datastore.Entity)">put</A></B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;txn,
294
+ <A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A>&nbsp;entity)</CODE>
295
+
296
+ <BR>
297
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exhibits the same behavior as <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#put(com.google.appengine.api.datastore.Entity)"><CODE>put(Entity)</CODE></A>, but executes within
298
+ the provided transaction.</TD>
299
+ </TR>
300
+ <TR BGCOLOR="white" CLASS="TableRowColor">
301
+ <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
302
+ <CODE>&nbsp;java.util.List&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&gt;</CODE></FONT></TD>
303
+ <TD><CODE><B><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#put(com.google.appengine.api.datastore.Transaction, java.lang.Iterable)">put</A></B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;txn,
304
+ java.lang.Iterable&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A>&gt;&nbsp;entities)</CODE>
305
+
306
+ <BR>
307
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exhibits the same behavior as <CODE>#put(Iterable<Entity>)</CODE>, but executes within
308
+ the provided transaction.</TD>
309
+ </TR>
310
+ </TABLE>
311
+ &nbsp;
312
+ <P>
313
+
314
+ <!-- ============ METHOD DETAIL ========== -->
315
+
316
+ <A NAME="method_detail"><!-- --></A>
317
+ <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
318
+ <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
319
+ <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
320
+ <B>Method Detail</B></FONT></TH>
321
+ </TR>
322
+ </TABLE>
323
+
324
+ <A NAME="get(com.google.appengine.api.datastore.Key)"><!-- --></A><H3>
325
+ get</H3>
326
+ <PRE>
327
+ <A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A> <B>get</B>(<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&nbsp;key)
328
+ throws <A HREF="../../../../../com/google/appengine/api/datastore/EntityNotFoundException.html" title="class in com.google.appengine.api.datastore">EntityNotFoundException</A></PRE>
329
+ <DL>
330
+ <DD>Retrieves the <code>Entity</code> with the specified <code>Key</code>.
331
+
332
+ If there is a current transaction, this operation will execute within
333
+ that transaction. In this case it is up to the caller to commit
334
+ or rollback. If there is no current transaction, the behavior of this
335
+ method with respect to transactions will be determined by the
336
+ <A HREF="../../../../../com/google/appengine/api/datastore/ImplicitTransactionManagementPolicy.html" title="enum in com.google.appengine.api.datastore"><CODE>ImplicitTransactionManagementPolicy</CODE></A> available on the
337
+ <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreConfig.html" title="interface in com.google.appengine.api.datastore"><CODE>DatastoreConfig</CODE></A>.
338
+ <P>
339
+ <DD><DL>
340
+
341
+ <DT><B>Throws:</B>
342
+ <DD><CODE><A HREF="../../../../../com/google/appengine/api/datastore/EntityNotFoundException.html" title="class in com.google.appengine.api.datastore">EntityNotFoundException</A></CODE> - If the specified entity could not be found.
343
+ <DD><CODE>java.lang.IllegalArgumentException</CODE> - If the specified key is invalid.
344
+ <DD><CODE><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreFailureException.html" title="class in com.google.appengine.api.datastore">DatastoreFailureException</A></CODE> - If any other datastore error occurs.</DL>
345
+ </DD>
346
+ </DL>
347
+ <HR>
348
+
349
+ <A NAME="get(com.google.appengine.api.datastore.Transaction, com.google.appengine.api.datastore.Key)"><!-- --></A><H3>
350
+ get</H3>
351
+ <PRE>
352
+ <A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A> <B>get</B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;txn,
353
+ <A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&nbsp;key)
354
+ throws <A HREF="../../../../../com/google/appengine/api/datastore/EntityNotFoundException.html" title="class in com.google.appengine.api.datastore">EntityNotFoundException</A></PRE>
355
+ <DL>
356
+ <DD>Exhibits the same behavior as <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#get(com.google.appengine.api.datastore.Key)"><CODE>get(Key)</CODE></A>, but executes within
357
+ the provided transaction. It is up to the caller to commit or
358
+ rollback. Transaction can be null.
359
+ <P>
360
+ <DD><DL>
361
+
362
+ <DT><B>Throws:</B>
363
+ <DD><CODE>java.lang.IllegalStateException</CODE> - If <code>txn</code> is not null and not
364
+ active.
365
+ <DD><CODE><A HREF="../../../../../com/google/appengine/api/datastore/EntityNotFoundException.html" title="class in com.google.appengine.api.datastore">EntityNotFoundException</A></CODE></DL>
366
+ </DD>
367
+ </DL>
368
+ <HR>
369
+
370
+ <A NAME="get(java.lang.Iterable)"><!-- --></A><H3>
371
+ get</H3>
372
+ <PRE>
373
+ java.util.Map&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>,<A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A>&gt; <B>get</B>(java.lang.Iterable&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&gt;&nbsp;keys)</PRE>
374
+ <DL>
375
+ <DD>Retrieves the set of <A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore"><CODE>Entities</CODE></A> matching <code>keys</code>.
376
+ The result <code>Map</code> will only contain <code>Keys</code> for which
377
+ <code>Entities</code> could be found.
378
+
379
+ If there is a current transaction, this operation will execute within
380
+ that transaction. In this case it is up to the caller to commit
381
+ or rollback. If there is no current transaction, the behavior of this
382
+ method with respect to transactions will be determined by the
383
+ <A HREF="../../../../../com/google/appengine/api/datastore/ImplicitTransactionManagementPolicy.html" title="enum in com.google.appengine.api.datastore"><CODE>ImplicitTransactionManagementPolicy</CODE></A> available on the
384
+ <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreConfig.html" title="interface in com.google.appengine.api.datastore"><CODE>DatastoreConfig</CODE></A>.
385
+ <P>
386
+ <DD><DL>
387
+
388
+ <DT><B>Throws:</B>
389
+ <DD><CODE>java.lang.IllegalArgumentException</CODE> - If any <code>Key</code> in keys is invalid.
390
+ <DD><CODE><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreFailureException.html" title="class in com.google.appengine.api.datastore">DatastoreFailureException</A></CODE> - If any other datastore error occurs.</DL>
391
+ </DD>
392
+ </DL>
393
+ <HR>
394
+
395
+ <A NAME="get(com.google.appengine.api.datastore.Transaction, java.lang.Iterable)"><!-- --></A><H3>
396
+ get</H3>
397
+ <PRE>
398
+ java.util.Map&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>,<A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A>&gt; <B>get</B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;txn,
399
+ java.lang.Iterable&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&gt;&nbsp;keys)</PRE>
400
+ <DL>
401
+ <DD>Exhibits the same behavior as <CODE>#get(Iterable<Key>)</CODE>, but executes within
402
+ the provided transaction. It is up to the caller to commit or
403
+ rollback. Transaction can be null.
404
+ <P>
405
+ <DD><DL>
406
+
407
+ <DT><B>Throws:</B>
408
+ <DD><CODE>java.lang.IllegalStateException</CODE> - If <code>txn</code> is not null and not
409
+ active.</DL>
410
+ </DD>
411
+ </DL>
412
+ <HR>
413
+
414
+ <A NAME="put(com.google.appengine.api.datastore.Entity)"><!-- --></A><H3>
415
+ put</H3>
416
+ <PRE>
417
+ <A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A> <B>put</B>(<A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A>&nbsp;entity)</PRE>
418
+ <DL>
419
+ <DD>If the specified <code>Entity</code> does not yet exist in the data
420
+ store, create it and assign its <code>Key</code>. If the specified
421
+ <code>Entity</code> already exists in the data store, save the new
422
+ version.
423
+
424
+ <p>The <code>Key</code> is returned, and is also returned by future calls
425
+ to <code>entity.getKey()</code>.
426
+
427
+ If there is a current transaction, this operation will execute within
428
+ that transaction. In this case it is up to the caller to commit
429
+ or rollback. If there is no current transaction, the behavior of this
430
+ method with respect to transactions will be determined by the
431
+ <A HREF="../../../../../com/google/appengine/api/datastore/ImplicitTransactionManagementPolicy.html" title="enum in com.google.appengine.api.datastore"><CODE>ImplicitTransactionManagementPolicy</CODE></A> available on the
432
+ <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreConfig.html" title="interface in com.google.appengine.api.datastore"><CODE>DatastoreConfig</CODE></A>.
433
+ <P>
434
+ <DD><DL>
435
+
436
+ <DT><B>Throws:</B>
437
+ <DD><CODE>java.lang.IllegalArgumentException</CODE> - If the specified entity was incomplete.
438
+ <DD><CODE>java.util.ConcurrentModificationException</CODE> - If this entity was
439
+ modified concurrently in another transaction.
440
+ <DD><CODE><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreFailureException.html" title="class in com.google.appengine.api.datastore">DatastoreFailureException</A></CODE> - If any other datastore error occurs.</DL>
441
+ </DD>
442
+ </DL>
443
+ <HR>
444
+
445
+ <A NAME="put(com.google.appengine.api.datastore.Transaction, com.google.appengine.api.datastore.Entity)"><!-- --></A><H3>
446
+ put</H3>
447
+ <PRE>
448
+ <A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A> <B>put</B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;txn,
449
+ <A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A>&nbsp;entity)</PRE>
450
+ <DL>
451
+ <DD>Exhibits the same behavior as <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#put(com.google.appengine.api.datastore.Entity)"><CODE>put(Entity)</CODE></A>, but executes within
452
+ the provided transaction. It is up to the caller to commit or
453
+ rollback. Transaction can be null.
454
+ <P>
455
+ <DD><DL>
456
+
457
+ <DT><B>Throws:</B>
458
+ <DD><CODE>java.lang.IllegalStateException</CODE> - If <code>txn</code> is not null and not
459
+ active.</DL>
460
+ </DD>
461
+ </DL>
462
+ <HR>
463
+
464
+ <A NAME="put(java.lang.Iterable)"><!-- --></A><H3>
465
+ put</H3>
466
+ <PRE>
467
+ java.util.List&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&gt; <B>put</B>(java.lang.Iterable&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A>&gt;&nbsp;entities)</PRE>
468
+ <DL>
469
+ <DD>Performs a batch <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#put(com.google.appengine.api.datastore.Entity)"><CODE>put</CODE></A> of all <code>entities</code>.
470
+
471
+ If there is a current transaction, this operation will execute within
472
+ that transaction. In this case it is up to the caller to commit
473
+ or rollback. If there is no current transaction, the behavior of this
474
+ method with respect to transactions will be determined by the
475
+ <A HREF="../../../../../com/google/appengine/api/datastore/ImplicitTransactionManagementPolicy.html" title="enum in com.google.appengine.api.datastore"><CODE>ImplicitTransactionManagementPolicy</CODE></A> available on the
476
+ <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreConfig.html" title="interface in com.google.appengine.api.datastore"><CODE>DatastoreConfig</CODE></A>.
477
+ <P>
478
+ <DD><DL>
479
+
480
+ <DT><B>Returns:</B><DD>The <code>Key</code>s that were assigned to the entities that were put.
481
+ If the <code>Iterable</code> that was provided as an argument has a stable
482
+ iteration order the <code>Key</code>s in the <code>List</code> we return are in
483
+ that same order. If the <code>Iterable</code> that was provided as an argument
484
+ does not have a stable iteration order the order of the <code>Key</code>s in
485
+ the <code>List</code> we return is undefined.
486
+ <DT><B>Throws:</B>
487
+ <DD><CODE>java.lang.IllegalArgumentException</CODE> - If any entity is incomplete.
488
+ <DD><CODE>java.util.ConcurrentModificationException</CODE> - If any entity was
489
+ modified concurrently in another transaction.
490
+ <DD><CODE><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreFailureException.html" title="class in com.google.appengine.api.datastore">DatastoreFailureException</A></CODE> - If any other datastore error occurs.</DL>
491
+ </DD>
492
+ </DL>
493
+ <HR>
494
+
495
+ <A NAME="put(com.google.appengine.api.datastore.Transaction, java.lang.Iterable)"><!-- --></A><H3>
496
+ put</H3>
497
+ <PRE>
498
+ java.util.List&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&gt; <B>put</B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;txn,
499
+ java.lang.Iterable&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Entity.html" title="class in com.google.appengine.api.datastore">Entity</A>&gt;&nbsp;entities)</PRE>
500
+ <DL>
501
+ <DD>Exhibits the same behavior as <CODE>#put(Iterable<Entity>)</CODE>, but executes within
502
+ the provided transaction. It is up to the caller to commit or
503
+ rollback. Transaction can be null.
504
+ <P>
505
+ <DD><DL>
506
+
507
+ <DT><B>Returns:</B><DD>The <code>Key</code>s that were assigned to the entities that were put.
508
+ If the <code>Iterable</code> that was provided as an argument has a stable
509
+ iteration order the <code>Key</code>s in the <code>List</code> we return are in
510
+ that same order. If the <code>Iterable</code> that was provided as an argument
511
+ does not have a stable iteration order the order of the <code>Key</code>s in
512
+ the <code>List</code> we return is undefined.
513
+ <DT><B>Throws:</B>
514
+ <DD><CODE>java.lang.IllegalStateException</CODE> - If <code>txn</code> is not null and not</DL>
515
+ </DD>
516
+ </DL>
517
+ <HR>
518
+
519
+ <A NAME="delete(com.google.appengine.api.datastore.Key...)"><!-- --></A><H3>
520
+ delete</H3>
521
+ <PRE>
522
+ void <B>delete</B>(<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>...&nbsp;keys)</PRE>
523
+ <DL>
524
+ <DD>Deletes the <code>Entity entities</code> specified by <code>keys</code>.
525
+
526
+ If there is a current transaction, this operation will execute within
527
+ that transaction. In this case it is up to the caller to commit
528
+ or rollback. If there is no current transaction, the behavior of this
529
+ method with respect to transactions will be determined by the
530
+ <A HREF="../../../../../com/google/appengine/api/datastore/ImplicitTransactionManagementPolicy.html" title="enum in com.google.appengine.api.datastore"><CODE>ImplicitTransactionManagementPolicy</CODE></A> available on the
531
+ <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreConfig.html" title="interface in com.google.appengine.api.datastore"><CODE>DatastoreConfig</CODE></A>.
532
+ <P>
533
+ <DD><DL>
534
+
535
+ <DT><B>Throws:</B>
536
+ <DD><CODE>java.lang.IllegalArgumentException</CODE> - If the specified key was invalid.
537
+ <DD><CODE>java.util.ConcurrentModificationException</CODE> - If this entity was
538
+ modified concurrently modified in another transaction.
539
+ <DD><CODE><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreFailureException.html" title="class in com.google.appengine.api.datastore">DatastoreFailureException</A></CODE> - If any other datastore error occurs.</DL>
540
+ </DD>
541
+ </DL>
542
+ <HR>
543
+
544
+ <A NAME="delete(com.google.appengine.api.datastore.Transaction, com.google.appengine.api.datastore.Key...)"><!-- --></A><H3>
545
+ delete</H3>
546
+ <PRE>
547
+ void <B>delete</B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;txn,
548
+ <A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>...&nbsp;keys)</PRE>
549
+ <DL>
550
+ <DD>Exhibits the same behavior as <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#delete(com.google.appengine.api.datastore.Key...)"><CODE>delete(Key[])</CODE></A>, but executes within
551
+ the provided transaction. It is up to the caller to commit or
552
+ rollback. Transaction can be null.
553
+ <P>
554
+ <DD><DL>
555
+
556
+ <DT><B>Throws:</B>
557
+ <DD><CODE>java.lang.IllegalStateException</CODE> - If <code>txn</code> is not null and not</DL>
558
+ </DD>
559
+ </DL>
560
+ <HR>
561
+
562
+ <A NAME="delete(java.lang.Iterable)"><!-- --></A><H3>
563
+ delete</H3>
564
+ <PRE>
565
+ void <B>delete</B>(java.lang.Iterable&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&gt;&nbsp;keys)</PRE>
566
+ <DL>
567
+ <DD>Equivalent to <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#delete(com.google.appengine.api.datastore.Key...)"><CODE>delete(Key...)</CODE></A>.
568
+ <P>
569
+ <DD><DL>
570
+ </DL>
571
+ </DD>
572
+ </DL>
573
+ <HR>
574
+
575
+ <A NAME="delete(com.google.appengine.api.datastore.Transaction, java.lang.Iterable)"><!-- --></A><H3>
576
+ delete</H3>
577
+ <PRE>
578
+ void <B>delete</B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;txn,
579
+ java.lang.Iterable&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Key.html" title="class in com.google.appengine.api.datastore">Key</A>&gt;&nbsp;keys)</PRE>
580
+ <DL>
581
+ <DD>Exhibits the same behavior as <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#delete(java.lang.Iterable)"><CODE>delete(Iterable)</CODE></A>, but executes within
582
+ the provided transaction. It is up to the caller to commit or
583
+ rollback. Transaction can be null.
584
+ <P>
585
+ <DD><DL>
586
+
587
+ <DT><B>Throws:</B>
588
+ <DD><CODE>java.lang.IllegalStateException</CODE> - If <code>txn</code> is not null and not</DL>
589
+ </DD>
590
+ </DL>
591
+ <HR>
592
+
593
+ <A NAME="prepare(com.google.appengine.api.datastore.Query)"><!-- --></A><H3>
594
+ prepare</H3>
595
+ <PRE>
596
+ <A HREF="../../../../../com/google/appengine/api/datastore/PreparedQuery.html" title="interface in com.google.appengine.api.datastore">PreparedQuery</A> <B>prepare</B>(<A HREF="../../../../../com/google/appengine/api/datastore/Query.html" title="class in com.google.appengine.api.datastore">Query</A>&nbsp;query)</PRE>
597
+ <DL>
598
+ <DD>Prepares a query for execution.
599
+ <p>
600
+ This method returns a <A HREF="../../../../../com/google/appengine/api/datastore/PreparedQuery.html" title="interface in com.google.appengine.api.datastore"><CODE>PreparedQuery</CODE></A> which can be used
601
+ to execute and retrieve results from the datastore for <code>query</code>.
602
+
603
+ This operation will not execute in a transaction even if there is a current
604
+ transaction and it is an ancestor query. This operation also ignores the
605
+ <A HREF="../../../../../com/google/appengine/api/datastore/ImplicitTransactionManagementPolicy.html" title="enum in com.google.appengine.api.datastore"><CODE>ImplicitTransactionManagementPolicy</CODE></A>. If you are preparing an
606
+ ancestory query and you want it to execute in a transaction, use
607
+ <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#prepare(com.google.appengine.api.datastore.Transaction, com.google.appengine.api.datastore.Query)"><CODE>prepare(Transaction, Query)</CODE></A>.
608
+ <P>
609
+ <DD><DL>
610
+ <DT><B>Parameters:</B><DD><CODE>query</CODE> - a not <code>null Query</code>.
611
+ <DT><B>Returns:</B><DD>a not <code>null PreparedQuery</code>.</DL>
612
+ </DD>
613
+ </DL>
614
+ <HR>
615
+
616
+ <A NAME="prepare(com.google.appengine.api.datastore.Transaction, com.google.appengine.api.datastore.Query)"><!-- --></A><H3>
617
+ prepare</H3>
618
+ <PRE>
619
+ <A HREF="../../../../../com/google/appengine/api/datastore/PreparedQuery.html" title="interface in com.google.appengine.api.datastore">PreparedQuery</A> <B>prepare</B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;txn,
620
+ <A HREF="../../../../../com/google/appengine/api/datastore/Query.html" title="class in com.google.appengine.api.datastore">Query</A>&nbsp;query)</PRE>
621
+ <DL>
622
+ <DD>Exhibits the same behavior as <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#prepare(com.google.appengine.api.datastore.Query)"><CODE>prepare(Query)</CODE></A>, but executes within
623
+ the provided transaction. It is up to the caller to commit or
624
+ rollback. Transaction can be null.
625
+ <P>
626
+ <DD><DL>
627
+
628
+ <DT><B>Throws:</B>
629
+ <DD><CODE>java.lang.IllegalArgumentException</CODE> - If txn is not null and query is not an
630
+ ancestor query
631
+ <DD><CODE>java.lang.IllegalStateException</CODE> - If txn is not null and the txn is not active</DL>
632
+ </DD>
633
+ </DL>
634
+ <HR>
635
+
636
+ <A NAME="beginTransaction()"><!-- --></A><H3>
637
+ beginTransaction</H3>
638
+ <PRE>
639
+ <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A> <B>beginTransaction</B>()</PRE>
640
+ <DL>
641
+ <DD>Begins a transaction against the datastore. Callers are responsible
642
+ for explicitly calling <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html#commit()"><CODE>Transaction.commit()</CODE></A> or
643
+ <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html#rollback()"><CODE>Transaction.rollback()</CODE></A> when they no longer need the
644
+ <code>Transaction</code>.
645
+
646
+ The <code>Transaction</code> returned by this call will be considered the
647
+ current transaction and will be returned by subsequent, same-thread calls
648
+ to <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#getCurrentTransaction()"><CODE>getCurrentTransaction()</CODE></A> and
649
+ <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#getCurrentTransaction(com.google.appengine.api.datastore.Transaction)"><CODE>getCurrentTransaction(Transaction)</CODE></A> until one of the following happens:
650
+ 1) <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#beginTransaction()"><CODE>beginTransaction()</CODE></A> is invoked from the same thread. In this
651
+ case <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#getCurrentTransaction()"><CODE>getCurrentTransaction()</CODE></A> and
652
+ <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#getCurrentTransaction(com.google.appengine.api.datastore.Transaction)"><CODE>getCurrentTransaction(Transaction)</CODE></A> will return the result of the
653
+ more recent call to <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#beginTransaction()"><CODE>beginTransaction()</CODE></A>.
654
+ 2) <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html#commit()"><CODE>Transaction.commit()</CODE></A> is invoked on the <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore"><CODE>Transaction</CODE></A>
655
+ returned by this method. Whether or not the commit returns successfully,
656
+ the <code>Transaction</code> will no longer be the current transaction.
657
+ 3) <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html#rollback()"><CODE>Transaction.rollback()</CODE></A> ()} is invoked on the
658
+ <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore"><CODE>Transaction</CODE></A> returned by this method. Whether or not the rollback
659
+ returns successfully, the <code>Transaction</code> will no longer be the
660
+ current transaction.
661
+ <P>
662
+ <DD><DL>
663
+
664
+ <DT><B>Returns:</B><DD>the <code>Transaction</code> that was started.
665
+ <DT><B>Throws:</B>
666
+ <DD><CODE><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreFailureException.html" title="class in com.google.appengine.api.datastore">DatastoreFailureException</A></CODE> - If a datastore error occurs.<DT><B>See Also:</B><DD><A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#getCurrentTransaction()"><CODE>getCurrentTransaction()</CODE></A></DL>
667
+ </DD>
668
+ </DL>
669
+ <HR>
670
+
671
+ <A NAME="getCurrentTransaction()"><!-- --></A><H3>
672
+ getCurrentTransaction</H3>
673
+ <PRE>
674
+ <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A> <B>getCurrentTransaction</B>()</PRE>
675
+ <DL>
676
+ <DD>Returns the current transaction for this thread, or throws an exception if
677
+ there is no current transaction. The current transaction is defined as the
678
+ result of the most recent, same-thread invocation of
679
+ <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#beginTransaction()"><CODE>beginTransaction()</CODE></A> that has not been committed or rolled back.
680
+
681
+ Use this method for when you expect there to be
682
+ a current transaction and consider it an error if there isn't.
683
+ <P>
684
+ <DD><DL>
685
+
686
+ <DT><B>Returns:</B><DD>The current transaction.
687
+ <DT><B>Throws:</B>
688
+ <DD><CODE>java.util.NoSuchElementException</CODE> - If there is no current transaction.</DL>
689
+ </DD>
690
+ </DL>
691
+ <HR>
692
+
693
+ <A NAME="getCurrentTransaction(com.google.appengine.api.datastore.Transaction)"><!-- --></A><H3>
694
+ getCurrentTransaction</H3>
695
+ <PRE>
696
+ <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A> <B>getCurrentTransaction</B>(<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&nbsp;returnedIfNoTxn)</PRE>
697
+ <DL>
698
+ <DD>Returns the current transaction for this thread, or returns the parameter
699
+ if there is no current transaction. You can use <code>null</code> or provide
700
+ your own object to represent null. See <A HREF="../../../../../com/google/appengine/api/datastore/DatastoreService.html#getCurrentTransaction()"><CODE>getCurrentTransaction()</CODE></A>
701
+ for a definition of "current transaction."
702
+
703
+ Use this method when you're not sure if there is a current transaction.
704
+ <P>
705
+ <DD><DL>
706
+ <DT><B>Parameters:</B><DD><CODE>returnedIfNoTxn</CODE> - The return value of this method if there is no
707
+ current transaction. Can be null.
708
+ <DT><B>Returns:</B><DD>The current transaction, or the parameter that was passed in
709
+ if there is no current transaction.</DL>
710
+ </DD>
711
+ </DL>
712
+ <HR>
713
+
714
+ <A NAME="getActiveTransactions()"><!-- --></A><H3>
715
+ getActiveTransactions</H3>
716
+ <PRE>
717
+ java.util.Collection&lt;<A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore">Transaction</A>&gt; <B>getActiveTransactions</B>()</PRE>
718
+ <DL>
719
+ <DD><DL>
720
+
721
+ <DT><B>Returns:</B><DD>All <A HREF="../../../../../com/google/appengine/api/datastore/Transaction.html" title="interface in com.google.appengine.api.datastore"><CODE>Transaction</CODE></A>s started by this thread upon which no
722
+ attempt to commit or rollback has been made.</DL>
723
+ </DD>
724
+ </DL>
725
+ <!-- ========= END OF CLASS DATA ========= -->
726
+ <HR>
727
+
728
+
729
+ <!-- ======= START OF BOTTOM NAVBAR ====== -->
730
+ <A NAME="navbar_bottom"><!-- --></A>
731
+ <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
732
+ <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
733
+ <TR>
734
+ <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
735
+ <A NAME="navbar_bottom_firstrow"><!-- --></A>
736
+ <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
737
+ <TR ALIGN="center" VALIGN="top">
738
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
739
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
740
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
741
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
742
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
743
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
744
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
745
+ </TR>
746
+ </TABLE>
747
+ </TD>
748
+ <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
749
+ </EM>
750
+ </TD>
751
+ </TR>
752
+
753
+ <TR>
754
+ <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
755
+ &nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/DatastoreNeedIndexException.html" title="class in com.google.appengine.api.datastore"><B>PREV CLASS</B></A>&nbsp;
756
+ &nbsp;<A HREF="../../../../../com/google/appengine/api/datastore/DatastoreServiceFactory.html" title="class in com.google.appengine.api.datastore"><B>NEXT CLASS</B></A></FONT></TD>
757
+ <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
758
+ <A HREF="../../../../../index.html?com/google/appengine/api/datastore/DatastoreService.html" target="_top"><B>FRAMES</B></A> &nbsp;
759
+ &nbsp;<A HREF="DatastoreService.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
760
+ &nbsp;<SCRIPT type="text/javascript">
761
+ <!--
762
+ if(window==top) {
763
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
764
+ }
765
+ //-->
766
+ </SCRIPT>
767
+ <NOSCRIPT>
768
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
769
+ </NOSCRIPT>
770
+
771
+
772
+ </FONT></TD>
773
+ </TR>
774
+ <TR>
775
+ <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
776
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
777
+ <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
778
+ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
779
+ </TR>
780
+ </TABLE>
781
+ <A NAME="skip-navbar_bottom"></A>
782
+ <!-- ======== END OF BOTTOM NAVBAR ======= -->
783
+
784
+ <HR>
785
+
786
+ </BODY>
787
+ </HTML>