PageRenderTime 46ms CodeModel.GetById 10ms app.highlight 25ms RepoModel.GetById 2ms app.codeStats 0ms

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