/src/plugin.xml

http://datanucleus-appengine.googlecode.com/ · XML · 510 lines · 443 code · 28 blank · 39 comment · 0 complexity · 90b1d5166a7a2645035dfc4113c18ac8 MD5 · raw file

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--**********************************************************************
  3. Copyright (c) 2009 Google Inc.
  4. Licensed under the Apache License, Version 2.0 (the "License");
  5. you may not use this file except in compliance with the License.
  6. You may obtain a copy of the License at
  7. http://www.apache.org/licenses/LICENSE-2.0
  8. Unless required by applicable law or agreed to in writing, software
  9. distributed under the License is distributed on an "AS IS" BASIS,
  10. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. See the License for the specific language governing permissions and
  12. limitations under the License.
  13. **********************************************************************-->
  14. <plugin id="com.google.appengine.datanucleus" name="DataNucleus App Engine" provider-name="Google">
  15. <!-- STORE MANAGER -->
  16. <extension point="org.datanucleus.store_manager">
  17. <store-manager class-name="com.google.appengine.datanucleus.DatastoreManager" key="appengine" url-key="appengine"/>
  18. </extension>
  19. <!-- QUERY LANGUAGES -->
  20. <extension point="org.datanucleus.store_query_query">
  21. <query name="JDOQL" class-name="com.google.appengine.datanucleus.query.JDOQLQuery" datastore="appengine"/>
  22. <query name="JPQL" class-name="com.google.appengine.datanucleus.query.JPQLQuery" datastore="appengine"/>
  23. </extension>
  24. <!-- CONNECTION FACTORY -->
  25. <extension point="org.datanucleus.store_connectionfactory">
  26. <connectionfactory name="appengine" class-name="com.google.appengine.datanucleus.DatastoreConnectionFactoryImpl"
  27. transactional="true" datastore="appengine"/>
  28. <connectionfactory name="appengine-nontx" class-name="com.google.appengine.datanucleus.DatastoreConnectionFactoryImpl"
  29. transactional="false" datastore="appengine"/>
  30. </extension>
  31. <!-- VALUE GENERATOR -->
  32. <extension point="org.datanucleus.store_valuegenerator">
  33. <valuegenerator name="sequence" class-name="com.google.appengine.datanucleus.valuegenerator.SequenceGenerator"
  34. datastore="appengine"/>
  35. </extension>
  36. <!-- IDENTITY KEY TRANSLATOR -->
  37. <extension point="org.datanucleus.identity_key_translator">
  38. <identitykeytranslator name="appengine" class-name="com.google.appengine.datanucleus.DatastoreIdentityKeyTranslator"/>
  39. </extension>
  40. <!-- IDENTIFIER FACTORIES -->
  41. <extension point="org.datanucleus.store_identifierfactory">
  42. <identifierfactory name="datanucleus2" class-name="org.datanucleus.store.mapped.identifier.DN2IdentifierFactory"/>
  43. <identifierfactory name="jpa" class-name="org.datanucleus.store.mapped.identifier.JPAIdentifierFactory"/>
  44. <identifierfactory name="datanucleus1" class-name="org.datanucleus.store.mapped.identifier.DNIdentifierFactory"/>
  45. <identifierfactory name="jpox" class-name="org.datanucleus.store.mapped.identifier.JPOXIdentifierFactory"/>
  46. </extension>
  47. <!-- Java Type handling -->
  48. <extension point="org.datanucleus.java_type">
  49. <!-- Put Google types in DFG -->
  50. <java-type name="com.google.appengine.api.datastore.Blob" persistent="true" dfg="true" embedded="true"/>
  51. <java-type name="com.google.appengine.api.datastore.Category" persistent="true" dfg="true" embedded="true"/>
  52. <java-type name="com.google.appengine.api.datastore.Email" persistent="true" dfg="true" embedded="true"/>
  53. <java-type name="com.google.appengine.api.datastore.GeoPt" persistent="true" dfg="true" embedded="true"/>
  54. <java-type name="com.google.appengine.api.datastore.IMHandle" persistent="true" dfg="true" embedded="true"/>
  55. <java-type name="com.google.appengine.api.datastore.Key" persistent="true" dfg="true" embedded="true"/>
  56. <java-type name="com.google.appengine.api.datastore.Link" persistent="true" dfg="true" embedded="true"/>
  57. <java-type name="com.google.appengine.api.datastore.PhoneNumber" persistent="true" dfg="true" embedded="true"/>
  58. <java-type name="com.google.appengine.api.datastore.PostalAddress" persistent="true" dfg="true" embedded="true"/>
  59. <java-type name="com.google.appengine.api.datastore.Rating" persistent="true" dfg="true" embedded="true"/>
  60. <java-type name="com.google.appengine.api.datastore.ShortBlob" persistent="true" dfg="true" embedded="true"/>
  61. <java-type name="com.google.appengine.api.datastore.Text" persistent="true" dfg="true" embedded="true"/>
  62. <java-type name="com.google.appengine.api.blobstore.BlobKey" persistent="true" dfg="true" embedded="true"/>
  63. <java-type name="com.google.appengine.api.users.User" persistent="true" dfg="true" embedded="true"/>
  64. <!-- Override arrays of simple types and Google types so they are in DFG -->
  65. <java-type name="[B" persistent="true" dfg="true" embedded="true" priority="10"/>
  66. <java-type name="[C" persistent="true" dfg="true" embedded="true" priority="10"/>
  67. <java-type name="[D" persistent="true" dfg="true" embedded="true" priority="10"/>
  68. <java-type name="[F" persistent="true" dfg="true" embedded="true" priority="10"/>
  69. <java-type name="[I" persistent="true" dfg="true" embedded="true" priority="10"/>
  70. <java-type name="[J" persistent="true" dfg="true" embedded="true" priority="10"/>
  71. <java-type name="[S" persistent="true" dfg="true" embedded="true" priority="10"/>
  72. <java-type name="[Z" persistent="true" dfg="true" embedded="true" priority="10"/>
  73. <java-type name="[Ljava.lang.Boolean;" persistent="true" dfg="true" embedded="true" priority="10"/>
  74. <java-type name="[Ljava.lang.Byte;" persistent="true" dfg="true" embedded="true" priority="10"/>
  75. <java-type name="[Ljava.lang.Character;" persistent="true" dfg="true" embedded="true" priority="10"/>
  76. <java-type name="[Ljava.lang.Double;" persistent="true" dfg="true" embedded="true" priority="10"/>
  77. <java-type name="[Ljava.lang.Float;" persistent="true" dfg="true" embedded="true" priority="10"/>
  78. <java-type name="[Ljava.lang.Integer;" persistent="true" dfg="true" embedded="true" priority="10"/>
  79. <java-type name="[Ljava.lang.Long;" persistent="true" dfg="true" embedded="true" priority="10"/>
  80. <java-type name="[Ljava.lang.Short;" persistent="true" dfg="true" embedded="true" priority="10"/>
  81. <java-type name="[Ljava.lang.Number;" persistent="true" dfg="true" embedded="true" priority="10"/>
  82. <java-type name="[Ljava.lang.String;" persistent="true" dfg="true" embedded="true" priority="10"/>
  83. <java-type name="[Ljava.math.BigInteger;" persistent="true" dfg="true" embedded="true" priority="10"/>
  84. <java-type name="[Ljava.math.BigDecimal;" persistent="true" dfg="true" embedded="true" priority="10"/>
  85. <java-type name="[Ljava.util.Date;" persistent="true" dfg="true" embedded="true" priority="10"/>
  86. <java-type name="[Ljava.util.Locale;" persistent="true" dfg="true" embedded="true" priority="10"/>
  87. <java-type name="[Ljava.lang.Enum;" persistent="true" dfg="true" embedded="true" priority="10"/>
  88. <java-type name="[Lcom.google.appengine.api.datastore.Blob;" persistent="true" dfg="true" embedded="true"/>
  89. <java-type name="[Lcom.google.appengine.api.datastore.Category;" persistent="true" dfg="true" embedded="true"/>
  90. <java-type name="[Lcom.google.appengine.api.datastore.Email;" persistent="true" dfg="true" embedded="true"/>
  91. <java-type name="[Lcom.google.appengine.api.datastore.GeoPt;" persistent="true" dfg="true" embedded="true"/>
  92. <java-type name="[Lcom.google.appengine.api.datastore.IMHandle;" persistent="true" dfg="true" embedded="true"/>
  93. <java-type name="[Lcom.google.appengine.api.datastore.Key;" persistent="true" dfg="true" embedded="true"/>
  94. <java-type name="[Lcom.google.appengine.api.datastore.Link;" persistent="true" dfg="true" embedded="true"/>
  95. <java-type name="[Lcom.google.appengine.api.datastore.PhoneNumber;" persistent="true" dfg="true" embedded="true"/>
  96. <java-type name="[Lcom.google.appengine.api.datastore.PostalAddress;" persistent="true" dfg="true" embedded="true"/>
  97. <java-type name="[Lcom.google.appengine.api.datastore.Rating;" persistent="true" dfg="true" embedded="true"/>
  98. <java-type name="[Lcom.google.appengine.api.datastore.ShortBlob;" persistent="true" dfg="true" embedded="true"/>
  99. <java-type name="[Lcom.google.appengine.api.datastore.Text;" persistent="true" dfg="true" embedded="true"/>
  100. <java-type name="[Lcom.google.appengine.api.blobstore.BlobKey;" persistent="true" dfg="true" embedded="true"/>
  101. <java-type name="[Lcom.google.appengine.api.users.User;" persistent="true" dfg="true" embedded="true"/>
  102. <!-- Override Collection/List/Set for generic simple types and generic Google types so they are in DFG -->
  103. <java-type name="java.util.Collection" generic-type="java.lang.Boolean" persistent="true" dfg="true"
  104. wrapper-type="org.datanucleus.store.types.simple.Collection"
  105. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  106. <java-type name="java.util.Collection" generic-type="java.lang.Byte" persistent="true" dfg="true"
  107. wrapper-type="org.datanucleus.store.types.simple.Collection"
  108. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  109. <java-type name="java.util.Collection" generic-type="java.lang.Character" persistent="true" dfg="true"
  110. wrapper-type="org.datanucleus.store.types.simple.Collection"
  111. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  112. <java-type name="java.util.Collection" generic-type="java.lang.Double" persistent="true" dfg="true"
  113. wrapper-type="org.datanucleus.store.types.simple.Collection"
  114. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  115. <java-type name="java.util.Collection" generic-type="java.lang.Float" persistent="true" dfg="true"
  116. wrapper-type="org.datanucleus.store.types.simple.Collection"
  117. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  118. <java-type name="java.util.Collection" generic-type="java.lang.Integer" persistent="true" dfg="true"
  119. wrapper-type="org.datanucleus.store.types.simple.Collection"
  120. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  121. <java-type name="java.util.Collection" generic-type="java.lang.Long" persistent="true" dfg="true"
  122. wrapper-type="org.datanucleus.store.types.simple.Collection"
  123. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  124. <java-type name="java.util.Collection" generic-type="java.lang.Short" persistent="true" dfg="true"
  125. wrapper-type="org.datanucleus.store.types.simple.Collection"
  126. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  127. <java-type name="java.util.Collection" generic-type="java.lang.String" persistent="true" dfg="true"
  128. wrapper-type="org.datanucleus.store.types.simple.Collection"
  129. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  130. <java-type name="java.util.Collection" generic-type="java.lang.Enum" persistent="true" dfg="true"
  131. wrapper-type="org.datanucleus.store.types.simple.Collection"
  132. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  133. <java-type name="java.util.Collection" generic-type="java.util.Date" persistent="true" dfg="true"
  134. wrapper-type="org.datanucleus.store.types.simple.Collection"
  135. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  136. <java-type name="java.util.Collection" generic-type="com.google.appengine.api.datastore.Blob" persistent="true" dfg="true"
  137. wrapper-type="org.datanucleus.store.types.simple.Collection"
  138. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  139. <java-type name="java.util.Collection" generic-type="com.google.appengine.api.datastore.Category" persistent="true" dfg="true"
  140. wrapper-type="org.datanucleus.store.types.simple.Collection"
  141. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  142. <java-type name="java.util.Collection" generic-type="com.google.appengine.api.datastore.Email" persistent="true" dfg="true"
  143. wrapper-type="org.datanucleus.store.types.simple.Collection"
  144. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  145. <java-type name="java.util.Collection" generic-type="com.google.appengine.api.datastore.GeoPt" persistent="true" dfg="true"
  146. wrapper-type="org.datanucleus.store.types.simple.Collection"
  147. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  148. <java-type name="java.util.Collection" generic-type="com.google.appengine.api.datastore.IMHandle" persistent="true" dfg="true"
  149. wrapper-type="org.datanucleus.store.types.simple.Collection"
  150. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  151. <java-type name="java.util.Collection" generic-type="com.google.appengine.api.datastore.Key" persistent="true" dfg="true"
  152. wrapper-type="org.datanucleus.store.types.simple.Collection"
  153. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  154. <java-type name="java.util.Collection" generic-type="com.google.appengine.api.datastore.Link" persistent="true" dfg="true"
  155. wrapper-type="org.datanucleus.store.types.simple.Collection"
  156. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  157. <java-type name="java.util.Collection" generic-type="com.google.appengine.api.datastore.PhoneNumber" persistent="true" dfg="true"
  158. wrapper-type="org.datanucleus.store.types.simple.Collection"
  159. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  160. <java-type name="java.util.Collection" generic-type="com.google.appengine.api.datastore.PostalAddress" persistent="true" dfg="true"
  161. wrapper-type="org.datanucleus.store.types.simple.Collection"
  162. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  163. <java-type name="java.util.Collection" generic-type="com.google.appengine.api.datastore.Rating" persistent="true" dfg="true"
  164. wrapper-type="org.datanucleus.store.types.simple.Collection"
  165. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  166. <java-type name="java.util.Collection" generic-type="com.google.appengine.api.datastore.ShortBlob" persistent="true" dfg="true"
  167. wrapper-type="org.datanucleus.store.types.simple.Collection"
  168. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  169. <java-type name="java.util.Collection" generic-type="com.google.appengine.api.datastore.Text" persistent="true" dfg="true"
  170. wrapper-type="org.datanucleus.store.types.simple.Collection"
  171. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  172. <java-type name="java.util.Collection" generic-type="com.google.appengine.api.blobstore.BlobKey" persistent="true" dfg="true"
  173. wrapper-type="org.datanucleus.store.types.simple.Collection"
  174. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  175. <java-type name="java.util.Collection" generic-type="com.google.appengine.api.users.User" persistent="true" dfg="true"
  176. wrapper-type="org.datanucleus.store.types.simple.Collection"
  177. wrapper-type-backed="org.datanucleus.store.types.backed.Collection"/>
  178. <java-type name="java.util.List" generic-type="java.lang.Boolean" persistent="true" dfg="true"
  179. wrapper-type="org.datanucleus.store.types.simple.List"
  180. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  181. <java-type name="java.util.List" generic-type="java.lang.Byte" persistent="true" dfg="true"
  182. wrapper-type="org.datanucleus.store.types.simple.List"
  183. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  184. <java-type name="java.util.List" generic-type="java.lang.Character" persistent="true" dfg="true"
  185. wrapper-type="org.datanucleus.store.types.simple.List"
  186. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  187. <java-type name="java.util.List" generic-type="java.lang.Double" persistent="true" dfg="true"
  188. wrapper-type="org.datanucleus.store.types.simple.List"
  189. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  190. <java-type name="java.util.List" generic-type="java.lang.Float" persistent="true" dfg="true"
  191. wrapper-type="org.datanucleus.store.types.simple.List"
  192. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  193. <java-type name="java.util.List" generic-type="java.lang.Integer" persistent="true" dfg="true"
  194. wrapper-type="org.datanucleus.store.types.simple.List"
  195. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  196. <java-type name="java.util.List" generic-type="java.lang.Long" persistent="true" dfg="true"
  197. wrapper-type="org.datanucleus.store.types.simple.List"
  198. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  199. <java-type name="java.util.List" generic-type="java.lang.Short" persistent="true" dfg="true"
  200. wrapper-type="org.datanucleus.store.types.simple.List"
  201. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  202. <java-type name="java.util.List" generic-type="java.lang.String" persistent="true" dfg="true"
  203. wrapper-type="org.datanucleus.store.types.simple.List"
  204. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  205. <java-type name="java.util.List" generic-type="java.lang.Enum" persistent="true" dfg="true"
  206. wrapper-type="org.datanucleus.store.types.simple.List"
  207. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  208. <java-type name="java.util.List" generic-type="java.util.Date" persistent="true" dfg="true"
  209. wrapper-type="org.datanucleus.store.types.simple.List"
  210. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  211. <java-type name="java.util.List" generic-type="com.google.appengine.api.datastore.Blob" persistent="true" dfg="true"
  212. wrapper-type="org.datanucleus.store.types.simple.List"
  213. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  214. <java-type name="java.util.List" generic-type="com.google.appengine.api.datastore.Category" persistent="true" dfg="true"
  215. wrapper-type="org.datanucleus.store.types.simple.List"
  216. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  217. <java-type name="java.util.List" generic-type="com.google.appengine.api.datastore.Email" persistent="true" dfg="true"
  218. wrapper-type="org.datanucleus.store.types.simple.List"
  219. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  220. <java-type name="java.util.List" generic-type="com.google.appengine.api.datastore.GeoPt" persistent="true" dfg="true"
  221. wrapper-type="org.datanucleus.store.types.simple.List"
  222. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  223. <java-type name="java.util.List" generic-type="com.google.appengine.api.datastore.IMHandle" persistent="true" dfg="true"
  224. wrapper-type="org.datanucleus.store.types.simple.List"
  225. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  226. <java-type name="java.util.List" generic-type="com.google.appengine.api.datastore.Key" persistent="true" dfg="true"
  227. wrapper-type="org.datanucleus.store.types.simple.List"
  228. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  229. <java-type name="java.util.List" generic-type="com.google.appengine.api.datastore.Link" persistent="true" dfg="true"
  230. wrapper-type="org.datanucleus.store.types.simple.List"
  231. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  232. <java-type name="java.util.List" generic-type="com.google.appengine.api.datastore.PhoneNumber" persistent="true" dfg="true"
  233. wrapper-type="org.datanucleus.store.types.simple.List"
  234. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  235. <java-type name="java.util.List" generic-type="com.google.appengine.api.datastore.PostalAddress" persistent="true" dfg="true"
  236. wrapper-type="org.datanucleus.store.types.simple.List"
  237. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  238. <java-type name="java.util.List" generic-type="com.google.appengine.api.datastore.Rating" persistent="true" dfg="true"
  239. wrapper-type="org.datanucleus.store.types.simple.List"
  240. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  241. <java-type name="java.util.List" generic-type="com.google.appengine.api.datastore.ShortBlob" persistent="true" dfg="true"
  242. wrapper-type="org.datanucleus.store.types.simple.List"
  243. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  244. <java-type name="java.util.List" generic-type="com.google.appengine.api.datastore.Text" persistent="true" dfg="true"
  245. wrapper-type="org.datanucleus.store.types.simple.List"
  246. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  247. <java-type name="java.util.List" generic-type="com.google.appengine.api.blobstore.BlobKey" persistent="true" dfg="true"
  248. wrapper-type="org.datanucleus.store.types.simple.List"
  249. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  250. <java-type name="java.util.List" generic-type="com.google.appengine.api.users.User" persistent="true" dfg="true"
  251. wrapper-type="org.datanucleus.store.types.simple.List"
  252. wrapper-type-backed="org.datanucleus.store.types.backed.List"/>
  253. <java-type name="java.util.Set" generic-type="java.lang.Boolean" persistent="true" dfg="true"
  254. wrapper-type="org.datanucleus.store.types.simple.Set"
  255. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  256. <java-type name="java.util.Set" generic-type="java.lang.Byte" persistent="true" dfg="true"
  257. wrapper-type="org.datanucleus.store.types.simple.Set"
  258. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  259. <java-type name="java.util.Set" generic-type="java.lang.Character" persistent="true" dfg="true"
  260. wrapper-type="org.datanucleus.store.types.simple.Set"
  261. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  262. <java-type name="java.util.Set" generic-type="java.lang.Double" persistent="true" dfg="true"
  263. wrapper-type="org.datanucleus.store.types.simple.Set"
  264. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  265. <java-type name="java.util.Set" generic-type="java.lang.Float" persistent="true" dfg="true"
  266. wrapper-type="org.datanucleus.store.types.simple.Set"
  267. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  268. <java-type name="java.util.Set" generic-type="java.lang.Integer" persistent="true" dfg="true"
  269. wrapper-type="org.datanucleus.store.types.simple.Set"
  270. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  271. <java-type name="java.util.Set" generic-type="java.lang.Long" persistent="true" dfg="true"
  272. wrapper-type="org.datanucleus.store.types.simple.Set"
  273. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  274. <java-type name="java.util.Set" generic-type="java.lang.Short" persistent="true" dfg="true"
  275. wrapper-type="org.datanucleus.store.types.simple.Set"
  276. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  277. <java-type name="java.util.Set" generic-type="java.lang.String" persistent="true" dfg="true"
  278. wrapper-type="org.datanucleus.store.types.simple.Set"
  279. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  280. <java-type name="java.util.Set" generic-type="java.lang.Enum" persistent="true" dfg="true"
  281. wrapper-type="org.datanucleus.store.types.simple.Set"
  282. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  283. <java-type name="java.util.Set" generic-type="java.util.Date" persistent="true" dfg="true"
  284. wrapper-type="org.datanucleus.store.types.simple.Set"
  285. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  286. <java-type name="java.util.Set" generic-type="com.google.appengine.api.datastore.Blob" persistent="true" dfg="true"
  287. wrapper-type="org.datanucleus.store.types.simple.Set"
  288. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  289. <java-type name="java.util.Set" generic-type="com.google.appengine.api.datastore.Category" persistent="true" dfg="true"
  290. wrapper-type="org.datanucleus.store.types.simple.Set"
  291. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  292. <java-type name="java.util.Set" generic-type="com.google.appengine.api.datastore.Email" persistent="true" dfg="true"
  293. wrapper-type="org.datanucleus.store.types.simple.Set"
  294. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  295. <java-type name="java.util.Set" generic-type="com.google.appengine.api.datastore.GeoPt" persistent="true" dfg="true"
  296. wrapper-type="org.datanucleus.store.types.simple.Set"
  297. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  298. <java-type name="java.util.Set" generic-type="com.google.appengine.api.datastore.IMHandle" persistent="true" dfg="true"
  299. wrapper-type="org.datanucleus.store.types.simple.Set"
  300. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  301. <java-type name="java.util.Set" generic-type="com.google.appengine.api.datastore.Key" persistent="true" dfg="true"
  302. wrapper-type="org.datanucleus.store.types.simple.Set"
  303. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  304. <java-type name="java.util.Set" generic-type="com.google.appengine.api.datastore.Link" persistent="true" dfg="true"
  305. wrapper-type="org.datanucleus.store.types.simple.Set"
  306. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  307. <java-type name="java.util.Set" generic-type="com.google.appengine.api.datastore.PhoneNumber" persistent="true" dfg="true"
  308. wrapper-type="org.datanucleus.store.types.simple.Set"
  309. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  310. <java-type name="java.util.Set" generic-type="com.google.appengine.api.datastore.PostalAddress" persistent="true" dfg="true"
  311. wrapper-type="org.datanucleus.store.types.simple.Set"
  312. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  313. <java-type name="java.util.Set" generic-type="com.google.appengine.api.datastore.Rating" persistent="true" dfg="true"
  314. wrapper-type="org.datanucleus.store.types.simple.Set"
  315. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  316. <java-type name="java.util.Set" generic-type="com.google.appengine.api.datastore.ShortBlob" persistent="true" dfg="true"
  317. wrapper-type="org.datanucleus.store.types.simple.Set"
  318. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  319. <java-type name="java.util.Set" generic-type="com.google.appengine.api.datastore.Text" persistent="true" dfg="true"
  320. wrapper-type="org.datanucleus.store.types.simple.Set"
  321. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  322. <java-type name="java.util.Set" generic-type="com.google.appengine.api.blobstore.BlobKey" persistent="true" dfg="true"
  323. wrapper-type="org.datanucleus.store.types.simple.Set"
  324. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  325. <java-type name="java.util.Set" generic-type="com.google.appengine.api.users.User" persistent="true" dfg="true"
  326. wrapper-type="org.datanucleus.store.types.simple.Set"
  327. wrapper-type-backed="org.datanucleus.store.types.backed.Set"/>
  328. </extension>
  329. <!-- JAVA TYPES MAPPING, for "mapped" datastores -->
  330. <extension point="org.datanucleus.store_mapping">
  331. <!-- "primitive" types -->
  332. <mapping java-type="boolean" mapping-class="org.datanucleus.store.mapped.mapping.BooleanMapping"/>
  333. <mapping java-type="byte" mapping-class="org.datanucleus.store.mapped.mapping.ByteMapping"/>
  334. <mapping java-type="char" mapping-class="org.datanucleus.store.mapped.mapping.CharacterMapping"/>
  335. <mapping java-type="double" mapping-class="org.datanucleus.store.mapped.mapping.DoubleMapping"/>
  336. <mapping java-type="float" mapping-class="org.datanucleus.store.mapped.mapping.FloatMapping" />
  337. <mapping java-type="int" mapping-class="org.datanucleus.store.mapped.mapping.IntegerMapping"/>
  338. <mapping java-type="long" mapping-class="org.datanucleus.store.mapped.mapping.LongMapping"/>
  339. <mapping java-type="short" mapping-class="org.datanucleus.store.mapped.mapping.ShortMapping"/>
  340. <!-- "java.lang" types -->
  341. <mapping java-type="java.lang.Boolean" mapping-class="org.datanucleus.store.mapped.mapping.BooleanMapping"/>
  342. <mapping java-type="java.lang.Byte" mapping-class="org.datanucleus.store.mapped.mapping.ByteMapping" />
  343. <mapping java-type="java.lang.Character" mapping-class="org.datanucleus.store.mapped.mapping.CharacterMapping" />
  344. <mapping java-type="java.lang.Double" mapping-class="org.datanucleus.store.mapped.mapping.DoubleMapping" />
  345. <mapping java-type="java.lang.Float" mapping-class="org.datanucleus.store.mapped.mapping.FloatMapping" />
  346. <mapping java-type="java.lang.Integer" mapping-class="org.datanucleus.store.mapped.mapping.IntegerMapping" />
  347. <mapping java-type="java.lang.Long" mapping-class="org.datanucleus.store.mapped.mapping.LongMapping" />
  348. <mapping java-type="java.lang.Short" mapping-class="org.datanucleus.store.mapped.mapping.ShortMapping" />
  349. <mapping java-type="java.lang.Class" mapping-class="org.datanucleus.store.mapped.mapping.ClassMapping"/>
  350. <mapping java-type="java.lang.Number" mapping-class="org.datanucleus.store.mapped.mapping.NumberMapping"/>
  351. <mapping java-type="java.lang.Object" mapping-class="org.datanucleus.store.mapped.mapping.SerialisedMapping"/>
  352. <mapping java-type="java.lang.String" mapping-class="org.datanucleus.store.mapped.mapping.StringMapping"/>
  353. <mapping java-type="java.lang.StringBuffer" mapping-class="org.datanucleus.store.mapped.mapping.StringBufferMapping"/>
  354. <mapping java-type="java.lang.Enum" mapping-class="org.datanucleus.store.mapped.mapping.EnumMapping"/>
  355. <!-- "java.awt" types -->
  356. <mapping java-type="java.awt.Color" mapping-class="org.datanucleus.store.mapped.mapping.ColorMapping"/>
  357. <mapping java-type="java.awt.image.BufferedImage" mapping-class="org.datanucleus.store.mapped.mapping.BufferedImageMapping"/>
  358. <!-- "java.io" types -->
  359. <mapping java-type="java.io.Serializable" mapping-class="org.datanucleus.store.mapped.mapping.SerialisedMapping"/>
  360. <!-- "java.math" types -->
  361. <mapping java-type="java.math.BigDecimal" mapping-class="org.datanucleus.store.mapped.mapping.BigDecimalMapping"/>
  362. <mapping java-type="java.math.BigInteger" mapping-class="org.datanucleus.store.mapped.mapping.BigIntegerMapping"/>
  363. <!-- "java.net" types -->
  364. <mapping java-type="java.net.URL" mapping-class="org.datanucleus.store.mapped.mapping.URLMapping"/>
  365. <mapping java-type="java.net.URI" mapping-class="org.datanucleus.store.mapped.mapping.URIMapping"/>
  366. <!-- "java.util" types -->
  367. <mapping java-type="java.util.Calendar" mapping-class="org.datanucleus.store.mapped.mapping.GregorianCalendarMapping"/>
  368. <mapping java-type="java.util.Date" mapping-class="org.datanucleus.store.mapped.mapping.DateMapping"/>
  369. <mapping java-type="java.util.Locale" mapping-class="org.datanucleus.store.mapped.mapping.LocaleMapping" />
  370. <mapping java-type="java.util.TimeZone" mapping-class="org.datanucleus.store.mapped.mapping.TimeZoneMapping"/>
  371. <!-- "javax.time" types -->
  372. <mapping java-type="javax.time.calendar.LocalDate"
  373. mapping-class="org.datanucleus.store.mapped.mapping.LocalDateMapping"/>
  374. <mapping java-type="javax.time.calendar.LocalDateTime"
  375. mapping-class="org.datanucleus.store.mapped.mapping.LocalDateTimeMapping"/>
  376. <mapping java-type="javax.time.calendar.LocalTime"
  377. mapping-class="org.datanucleus.store.mapped.mapping.LocalTimeMapping"/>
  378. <!-- "java.sql" types -->
  379. <mapping java-type="java.sql.Date" mapping-class="org.datanucleus.store.mapped.mapping.SqlDateMapping"/>
  380. <mapping java-type="java.sql.Time" mapping-class="org.datanucleus.store.mapped.mapping.SqlTimeMapping"/>
  381. <mapping java-type="java.sql.Timestamp" mapping-class="org.datanucleus.store.mapped.mapping.SqlTimestampMapping"/>
  382. <!-- array types -->
  383. <mapping java-type="[B" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  384. <mapping java-type="[C" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  385. <mapping java-type="[D" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  386. <mapping java-type="[F" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  387. <mapping java-type="[I" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  388. <mapping java-type="[J" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  389. <mapping java-type="[S" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  390. <mapping java-type="[Z" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  391. <mapping java-type="[Ljava.lang.Boolean;" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  392. <mapping java-type="[Ljava.lang.Byte;" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  393. <mapping java-type="[Ljava.lang.Character;" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  394. <mapping java-type="[Ljava.lang.Double;" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  395. <mapping java-type="[Ljava.lang.Float;" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  396. <mapping java-type="[Ljava.lang.Integer;" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  397. <mapping java-type="[Ljava.lang.Long;" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  398. <mapping java-type="[Ljava.lang.Short;" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  399. <mapping java-type="[Ljava.lang.Number;" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  400. <mapping java-type="[Ljava.lang.String;" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  401. <mapping java-type="[Ljava.lang.Enum;" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  402. <mapping java-type="[Ljava.math.BigInteger;" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  403. <mapping java-type="[Ljava.math.BigDecimal;" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  404. <mapping java-type="[Ljava.util.Date;" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  405. <mapping java-type="[Ljava.util.Locale;" mapping-class="org.datanucleus.store.mapped.mapping.ArrayMapping"/>
  406. <!-- container types -->
  407. <mapping java-type="java.util.ArrayList" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  408. <mapping java-type="java.util.BitSet" mapping-class="org.datanucleus.store.mapped.mapping.BitSetMapping"/>
  409. <mapping java-type="java.util.Collection" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  410. <mapping java-type="java.util.Currency" mapping-class="org.datanucleus.store.mapped.mapping.CurrencyMapping"/>
  411. <mapping java-type="java.util.GregorianCalendar" mapping-class="org.datanucleus.store.mapped.mapping.GregorianCalendarMapping"/>
  412. <mapping java-type="java.util.HashMap" mapping-class="org.datanucleus.store.mapped.mapping.MapMapping"/>
  413. <mapping java-type="java.util.HashSet" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  414. <mapping java-type="java.util.Hashtable" mapping-class="org.datanucleus.store.mapped.mapping.MapMapping"/>
  415. <mapping java-type="java.util.LinkedList" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  416. <mapping java-type="java.util.List" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  417. <mapping java-type="java.util.LinkedHashMap" mapping-class="org.datanucleus.store.mapped.mapping.MapMapping"/>
  418. <mapping java-type="java.util.LinkedHashSet" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  419. <mapping java-type="java.util.Map" mapping-class="org.datanucleus.store.mapped.mapping.MapMapping"/>
  420. <mapping java-type="java.util.PriorityQueue" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  421. <mapping java-type="java.util.Properties" mapping-class="org.datanucleus.store.mapped.mapping.MapMapping"/>
  422. <mapping java-type="java.util.Queue" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  423. <mapping java-type="java.util.Set" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  424. <mapping java-type="java.util.SortedMap" mapping-class="org.datanucleus.store.mapped.mapping.MapMapping"/>
  425. <mapping java-type="java.util.SortedSet" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  426. <mapping java-type="java.util.Stack" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  427. <mapping java-type="java.util.TreeMap" mapping-class="org.datanucleus.store.mapped.mapping.MapMapping"/>
  428. <mapping java-type="java.util.TreeSet" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  429. <mapping java-type="java.util.UUID" mapping-class="org.datanucleus.store.mapped.mapping.UUIDMapping"/>
  430. <mapping java-type="java.util.Vector" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  431. <!-- DataNucleus types -->
  432. <mapping java-type="org.datanucleus.identity.OID" mapping-class="org.datanucleus.store.mapped.mapping.OIDMapping"/>
  433. <mapping java-type="org.datanucleus.store.types.backed.ArrayList" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  434. <mapping java-type="org.datanucleus.store.types.backed.Collection" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  435. <mapping java-type="org.datanucleus.store.types.backed.HashMap" mapping-class="org.datanucleus.store.mapped.mapping.MapMapping"/>
  436. <mapping java-type="org.datanucleus.store.types.backed.HashSet" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  437. <mapping java-type="org.datanucleus.store.types.backed.Hashtable" mapping-class="org.datanucleus.store.mapped.mapping.MapMapping"/>
  438. <mapping java-type="org.datanucleus.store.types.backed.LinkedList" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  439. <mapping java-type="org.datanucleus.store.types.backed.List" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  440. <mapping java-type="org.datanucleus.store.types.backed.LinkedHashSet" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  441. <mapping java-type="org.datanucleus.store.types.backed.LinkedHashMap" mapping-class="org.datanucleus.store.mapped.mapping.MapMapping"/>
  442. <mapping java-type="org.datanucleus.store.types.backed.Map" mapping-class="org.datanucleus.store.mapped.mapping.MapMapping"/>
  443. <mapping java-type="org.datanucleus.store.types.backed.PriorityQueue" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  444. <mapping java-type="org.datanucleus.store.types.backed.Properties" mapping-class="org.datanucleus.store.mapped.mapping.MapMapping"/>
  445. <mapping java-type="org.datanucleus.store.types.backed.Queue" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  446. <mapping java-type="org.datanucleus.store.types.backed.Set" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  447. <mapping java-type="org.datanucleus.store.types.backed.SortedMap" mapping-class="org.datanucleus.store.mapped.mapping.MapMapping"/>
  448. <mapping java-type="org.datanucleus.store.types.backed.SortedSet" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  449. <mapping java-type="org.datanucleus.store.types.backed.Stack" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  450. <mapping java-type="org.datanucleus.store.types.backed.TreeMap" mapping-class="org.datanucleus.store.mapped.mapping.MapMapping"/>
  451. <mapping java-type="org.datanucleus.store.types.backed.TreeSet" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  452. <mapping java-type="org.datanucleus.store.types.backed.Vector" mapping-class="org.datanucleus.store.mapped.mapping.CollectionMapping"/>
  453. </extension>
  454. <!-- PERSISTENCE PROPERTIES -->
  455. <extension point="org.datanucleus.persistence_properties">
  456. <persistence-property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"
  457. validator="org.datanucleus.properties.BooleanPropertyValidator"/>
  458. <persistence-property name="datanucleus.appengine.datastoreEnableXGTransactions"
  459. validator="org.datanucleus.properties.BooleanPropertyValidator"/>
  460. <persistence-property name="datanucleus.appengine.storageversion" datastore="true"/>
  461. <persistence-property name="datanucleus.appengine.relationDefault" datastore="true" value="owned"
  462. validator="com.google.appengine.datanucleus.DatastorePropertyValidator"/>
  463. <persistence-property name="datanucleus.appengine.ignorablemetadatabehavior"/> <!-- Make this datastore="true"-->
  464. <persistence-property name="datanucleus.appengine.getExtentCanReturnSubclasses" datastore="true" value="false"
  465. validator="org.datanucleus.properties.BooleanPropertyValidator"/>
  466. <persistence-property name="datanucleus.appengine.query.inMemoryWhenUnsupported" datastore="true" value="false"
  467. validator="org.datanucleus.properties.BooleanPropertyValidator"/>
  468. <persistence-property name="datanucleus.appengine.throwExceptionOnUnexpectedPolymorphism" datastore="true" value="true"
  469. validator="org.datanucleus.properties.BooleanPropertyValidator"/>
  470. </extension>
  471. <!-- CUSTOM ANNOTATIONS -->
  472. <extension point="org.datanucleus.member_annotation_handler">
  473. <member-annotation-handler annotation-class="com.google.appengine.datanucleus.annotations.Unindexed"
  474. handler="com.google.appengine.datanucleus.annotations.UnindexedHandler"/>
  475. <member-annotation-handler annotation-class="com.google.appengine.datanucleus.annotations.Unowned"
  476. handler="com.google.appengine.datanucleus.annotations.UnownedHandler"/>
  477. <member-annotation-handler annotation-class="com.google.appengine.datanucleus.annotations.Owned"
  478. handler="com.google.appengine.datanucleus.annotations.OwnedHandler"/>
  479. </extension>
  480. </plugin>