View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *     http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  
18  package javax.jdo;
19  
20  /**
21   * Constant values used in JDO.
22   *
23   * @since 2.1
24   * @version 3.0
25   */
26  public interface Constants {
27  
28      /**
29       * The name of the standard service configuration resource text file containing
30       * the name of an implementation of {@link PersistenceManagerFactory}.
31       * Constant value is <code>META-INF/services/javax.jdo.PersistenceManagerFactory</code>.
32       *
33       * @since 2.1
34       */
35      static String SERVICE_LOOKUP_PMF_RESOURCE_NAME
36          = "META-INF/services/javax.jdo.PersistenceManagerFactory";
37  
38      /**
39       * The name of the standard service configuration resource text file containing
40       * the name of an enhancer of {@link JDOEnhancer}.
41       * Constant value is <code>META-INF/services/javax.jdo.JDOEnhancer</code>.
42       * @since 3.0
43       */
44      static String SERVICE_LOOKUP_ENHANCER_RESOURCE_NAME
45          = "META-INF/services/javax.jdo.JDOEnhancer";
46  
47      /**
48       * The name of the standard JDO configuration resource file(s).
49       * Constant value is <code>META-INF/jdoconfig.xml</code>.
50       *
51       * @since 2.1
52       */
53      static String JDOCONFIG_RESOURCE_NAME
54          = "META-INF/jdoconfig.xml";
55  
56      /**
57       * The standard JDO configuration schema namespace.
58       * Constant value is <code>http://java.sun.com/xml/ns/jdo/jdoconfig</code>.
59       *
60       * @since 2.1
61       */
62      static String JDOCONFIG_XSD_NS
63          = "http://java.sun.com/xml/ns/jdo/jdoconfig";
64  
65      /**
66       * The standard JDO metadata schema namespace.
67       * Constant value is <code>http://java.sun.com/xml/ns/jdo/jdo</code>.
68       *
69       * @since 2.1
70       */
71      static String JDO_XSD_NS
72          = "http://java.sun.com/xml/ns/jdo/jdo";
73  
74      /**
75       * The standard JDO object-repository mapping schema namespace.
76       * Constant value is <code>http://java.sun.com/xml/ns/jdo/orm</code>.
77       *
78       * @since 2.1
79       */
80      static String ORM_XSD_NS
81          = "http://java.sun.com/xml/ns/jdo/orm";
82  
83      /**
84       * The standard JDO query schema namespace.
85       * Constant value is <code>http://java.sun.com/xml/ns/jdo/jdoquery</code>.
86       *
87       * @since 2.1
88       */
89      static String JDOQUERY_XSD_NS
90          = "http://java.sun.com/xml/ns/jdo/jdoquery";
91  
92      /**
93       * The name of the persistence manager factory element in the JDO
94       * configuration file.
95       * Constant value is <code>persistence-manager-factory</code>.
96       *
97       * @since 2.1
98       */
99      static String ELEMENT_PERSISTENCE_MANAGER_FACTORY
100         = "persistence-manager-factory";
101 
102     /**
103      * The name of the persistence manager factory element's "class" attribute.
104      *
105      * @since 2.1
106      */
107     static String PMF_ATTRIBUTE_CLASS
108         = "class";
109     /**
110      * The name of the persistence manager factory element's
111      * "name" attribute.
112      *
113      * @since 2.1
114      */
115     static String PMF_ATTRIBUTE_NAME
116         = "name";
117     /**
118      * The name of the persistence manager factory element's
119      * "persistence-unit-name" attribute.
120      *
121      * @since 2.1
122      */
123     static String PMF_ATTRIBUTE_PERSISTENCE_UNIT_NAME
124         = "persistence-unit-name";
125     /**
126      * The name of the persistence manager factory element's "optimistic"
127      * attribute.
128      *
129      * @since 2.1
130      */
131     static String PMF_ATTRIBUTE_OPTIMISTIC
132         = "optimistic";
133     /**
134      * The name of the persistence manager factory element's "readonly"
135      * attribute.
136      *
137      * @since 2.2
138      */
139     static String PMF_ATTRIBUTE_READONLY
140         = "readonly";
141     /**
142      * The name of the persistence manager factory element's "retain-values"
143      * attribute.
144      *
145      * @since 2.1
146      */
147     static String PMF_ATTRIBUTE_RETAIN_VALUES
148         = "retain-values";
149     /**
150      * The name of the persistence manager factory element's "restore-values"
151      * attribute.
152      *
153      * @since 2.1
154      */
155     static String PMF_ATTRIBUTE_RESTORE_VALUES
156         = "restore-values";
157     /**
158      * The name of the persistence manager factory element's "ignore-cache"
159      * attribute.
160      *
161      * @since 2.1
162      */
163     static String PMF_ATTRIBUTE_IGNORE_CACHE
164         = "ignore-cache";
165     /**
166      * The name of the persistence manager factory element's
167      * "nontransactional-read" attribute.
168      *
169      * @since 2.1
170      */
171     static String PMF_ATTRIBUTE_NONTRANSACTIONAL_READ
172         = "nontransactional-read";
173     /**
174      * The name of the persistence manager factory element's
175      * "nontransactional-write" attribute.
176      *
177      * @since 2.1
178      */
179     static String PMF_ATTRIBUTE_NONTRANSACTIONAL_WRITE
180         = "nontransactional-write";
181     /**
182      * The name of the persistence manager factory element's "multithreaded"
183      * attribute.
184      *
185      * @since 2.1
186      */
187     static String PMF_ATTRIBUTE_MULTITHREADED
188         = "multithreaded";
189     /**
190      * The name of the persistence manager factory element's
191      * "connection-driver-name" attribute.
192      *
193      * @since 2.1
194      */
195     static String PMF_ATTRIBUTE_CONNECTION_DRIVER_NAME
196         = "connection-driver-name";
197     /**
198      * The name of the persistence manager factory element's
199      * "connection-user-name" attribute.
200      *
201      * @since 2.1
202      */
203     static String PMF_ATTRIBUTE_CONNECTION_USER_NAME
204         = "connection-user-name";
205     /**
206      * The name of the persistence manager factory element's
207      * "connection-password" attribute.
208      *
209      * @since 2.1
210      */
211     static String PMF_ATTRIBUTE_CONNECTION_PASSWORD
212         = "connection-password";
213     /**
214      * The name of the persistence manager factory element's "connection-url"
215      * attribute.
216      *
217      * @since 2.1
218      */
219     static String PMF_ATTRIBUTE_CONNECTION_URL
220         = "connection-url";
221     /**
222      * The name of the persistence manager factory element's
223      * "connection-factory-name" attribute.
224      *
225      * @since 2.1
226      */
227     static String PMF_ATTRIBUTE_CONNECTION_FACTORY_NAME
228         = "connection-factory-name";
229     /**
230      * The name of the persistence manager factory element's
231      * "connection-factory2-name" attribute.
232      *
233      * @since 2.1
234      */
235     static String PMF_ATTRIBUTE_CONNECTION_FACTORY2_NAME
236         = "connection-factory2-name";
237     /**
238      * The name of the persistence manager factory element's
239      * "detach-all-on-commit" attribute.
240      *
241      * @since 2.1
242      */
243     static String PMF_ATTRIBUTE_DETACH_ALL_ON_COMMIT
244         = "detach-all-on-commit";
245     /**
246      * The name of the persistence manager factory element's
247      * "copy-on-attach" attribute.
248      *
249      * @since 2.1
250      */
251     static String PMF_ATTRIBUTE_COPY_ON_ATTACH
252         = "copy-on-attach";
253     /**
254      * The name of the persistence manager factory element's "mapping"
255      * attribute.
256      *
257      * @since 2.1
258      */
259     static String PMF_ATTRIBUTE_MAPPING
260         = "mapping";
261     /**
262      * The name of the persistence manager factory element's
263      * "server-time-zone-id" attribute.
264      *
265      * @since 2.1
266      */
267     static String PMF_ATTRIBUTE_SERVER_TIME_ZONE_ID
268         = "server-time-zone-id";
269     /**
270      * The name of the persistence manager factory element's
271      * "datastore-read-timeout-millis" attribute.
272      *
273      * @since 3.0
274      */
275     static String PMF_ATTRIBUTE_DATASTORE_READ_TIMEOUT_MILLIS
276         = "datastore-read-timeout-millis";
277     /**
278      * The name of the persistence manager factory element's
279      * "datastore-write-timeout-millis" attribute.
280      *
281      * @since 3.0
282      */
283     static String PMF_ATTRIBUTE_DATASTORE_WRITE_TIMEOUT_MILLIS
284         = "datastore-write-timeout-millis";
285     /**
286      * The name of the persistence manager factory property elements in the JDO
287      * configuration file.
288      */
289     static String ELEMENT_PROPERTY
290         = "property";
291     /**
292      * The name of the persistence manager factory property element's "name"
293      * attribute.
294      */
295     static String PROPERTY_ATTRIBUTE_NAME
296         = "name";
297     /**
298      * The name of the persistence manager factory property element's "value"
299      * attribute.
300      */
301     static String PROPERTY_ATTRIBUTE_VALUE
302         = "value";
303 
304     /**
305      * The name of the instance lifecycle listener element in the JDO
306      * configuration file.
307      */
308     static String ELEMENT_INSTANCE_LIFECYCLE_LISTENER
309         = "instance-lifecycle-listener";
310 
311     /**
312      * The name of the instance lifecycle listener element's "listener"
313      * attribute.
314      */
315     static String INSTANCE_LIFECYCLE_LISTENER_ATTRIBUTE_LISTENER
316         = "listener";
317     /**
318      * The name of the instance lifecycle listener element's "classes"
319      * attribute.
320      */
321     static String INSTANCE_LIFECYCLE_LISTENER_ATTRIBUTE_CLASSES
322         = "classes";
323 
324     /**
325      * "javax.jdo.option.TransientTransactional"
326      *
327      * @see PersistenceManagerFactory#supportedOptions()
328      * @since 2.1
329      */
330     static String OPTION_TRANSACTIONAL_TRANSIENT
331         = "javax.jdo.option.TransientTransactional";
332     /**
333      * "javax.jdo.option.NontransactionalRead"
334      *
335      * @see PersistenceManagerFactory#supportedOptions()
336      * @since 2.1
337      */
338     static String OPTION_NONTRANSACTIONAL_READ
339         = "javax.jdo.option.NontransactionalRead";
340     /**
341      * "javax.jdo.option.NontransactionalWrite"
342      *
343      * @see PersistenceManagerFactory#supportedOptions()
344      * @since 2.1
345      */
346     static String OPTION_NONTRANSACTIONAL_WRITE
347         = "javax.jdo.option.NontransactionalWrite";
348     /**
349      * "javax.jdo.option.RetainValues"
350      *
351      * @see PersistenceManagerFactory#supportedOptions()
352      * @since 2.1
353      */
354     static String OPTION_RETAIN_VALUES
355         = "javax.jdo.option.RetainValues";
356     /**
357      * "javax.jdo.option.Optimistic"
358      *
359      * @see PersistenceManagerFactory#supportedOptions()
360      * @since 2.1
361      */
362     static String OPTION_OPTIMISTIC
363         = "javax.jdo.option.Optimistic";
364     /**
365      * "javax.jdo.option.ApplicationIdentity"
366      *
367      * @see PersistenceManagerFactory#supportedOptions()
368      * @since 2.1
369      */
370     static String OPTION_APPLICATION_IDENTITY
371         = "javax.jdo.option.ApplicationIdentity";
372     /**
373      * "javax.jdo.option.DatastoreIdentity"
374      *
375      * @see PersistenceManagerFactory#supportedOptions()
376      * @since 2.1
377      */
378     static String OPTION_DATASTORE_IDENTITY
379         = "javax.jdo.option.DatastoreIdentity";
380     /**
381      * "javax.jdo.option.NonDurableIdentity"
382      *
383      * @see PersistenceManagerFactory#supportedOptions()
384      * @since 2.1
385      */
386     static String OPTION_NONDURABLE_IDENTITY
387         = "javax.jdo.option.NonDurableIdentity";
388     /**
389      * "javax.jdo.option.ArrayList"
390      *
391      * @see PersistenceManagerFactory#supportedOptions()
392      * @since 2.1
393      */
394     static String OPTION_ARRAYLIST
395         = "javax.jdo.option.ArrayList";
396     /**
397      * "javax.jdo.option.LinkedList"
398      *
399      * @see PersistenceManagerFactory#supportedOptions()
400      * @since 2.1
401      */
402     static String OPTION_LINKEDLIST
403         = "javax.jdo.option.LinkedList";
404     /**
405      * "javax.jdo.option.TreeMap"
406      *
407      * @see PersistenceManagerFactory#supportedOptions()
408      * @since 2.1
409      */
410     static String OPTION_TREEMAP
411         = "javax.jdo.option.TreeMap";
412     /**
413      * "javax.jdo.option.TreeSet"
414      *
415      * @see PersistenceManagerFactory#supportedOptions()
416      * @since 2.1
417      */
418     static String OPTION_TREESET
419         = "javax.jdo.option.TreeSet";
420     /**
421      * "javax.jdo.option.Vector"
422      *
423      * @see PersistenceManagerFactory#supportedOptions()
424      * @since 2.1
425      */
426     static String OPTION_VECTOR
427         = "javax.jdo.option.Vector";
428     /**
429      * "javax.jdo.option.Array"
430      *
431      * @see PersistenceManagerFactory#supportedOptions()
432      * @since 2.1
433      */
434     static String OPTION_ARRAY
435         = "javax.jdo.option.Array";
436     /**
437      * "javax.jdo.option.NullCollection"
438      *
439      * @see PersistenceManagerFactory#supportedOptions()
440      * @since 2.1
441      */
442     static String OPTION_NULL_COLLECTION
443         = "javax.jdo.option.NullCollection";
444     /**
445      * "javax.jdo.option.ChangeApplicationIdentity"
446      *
447      * @see PersistenceManagerFactory#supportedOptions()
448      * @since 2.1
449      */
450     static String OPTION_CHANGE_APPLICATION_IDENTITY
451         = "javax.jdo.option.ChangeApplicationIdentity";
452     /**
453      * "javax.jdo.option.BinaryCompatibility"
454      *
455      * @see PersistenceManagerFactory#supportedOptions()
456      * @since 2.1
457      */
458     static String OPTION_BINARY_COMPATIBILITY
459         = "javax.jdo.option.BinaryCompatibility";
460     /**
461      * "javax.jdo.option.GetDataStoreConnection"
462      *
463      * @see PersistenceManagerFactory#supportedOptions()
464      * @since 2.1
465      */
466     static String OPTION_GET_DATASTORE_CONNECTION
467         = "javax.jdo.option.GetDataStoreConnection";
468     /**
469      * "javax.jdo.option.GetJDBCConnection"
470      *
471      * @see PersistenceManagerFactory#supportedOptions()
472      * @since 2.1
473      */
474     static String OPTION_GET_JDBC_CONNECTION
475         = "javax.jdo.option.GetJDBCConnection";
476     /**
477      * "javax.jdo.query.SQL"
478      *
479      * @see PersistenceManagerFactory#supportedOptions()
480      * @since 2.1
481      */
482     static String OPTION_QUERY_SQL
483         = "javax.jdo.query.SQL";
484     /**
485      * "javax.jdo.option.QueryCancel"
486      *
487      * @see PersistenceManagerFactory#supportedOptions()
488      * @since 3.0
489      */
490     static String OPTION_QUERY_CANCEL
491         = "javax.jdo.option.QueryCancel";
492     /**
493      * "javax.jdo.option.DatastoreTimeout"
494      *
495      * @see PersistenceManagerFactory#supportedOptions()
496      * @since 3.0
497      */
498     static String OPTION_DATASTORE_TIMEOUT
499         = "javax.jdo.option.DatastoreTimeout";
500     /**
501      * "javax.jdo.option.UnconstrainedQueryVariables"
502      *
503      * @see PersistenceManagerFactory#supportedOptions()
504      * @since 2.1
505      */
506     static String OPTION_UNCONSTRAINED_QUERY_VARIABLES
507         = "javax.jdo.option.UnconstrainedQueryVariables";
508     /**
509      * "javax.jdo.option.version.DateTime"
510      *
511      * @see PersistenceManagerFactory#supportedOptions()
512      * @since 2.1
513      */
514     static String OPTION_VERSION_DATETIME
515         = "javax.jdo.option.version.DateTime";
516     /**
517      * "javax.jdo.option.version.StateImage"
518      *
519      * @see PersistenceManagerFactory#supportedOptions()
520      * @since 2.1
521      */
522     static String OPTION_VERSION_STATE_IMAGE
523         = "javax.jdo.option.version.StateImage";
524     /**
525      * "javax.jdo.option.PreDirtyEvent"
526      *
527      * @see PersistenceManagerFactory#supportedOptions()
528      * @since 2.1
529      */
530     static String OPTION_PREDIRTY_EVENT
531         = "javax.jdo.option.PreDirtyEvent";
532     /**
533      * "javax.jdo.option.mapping.HeterogeneousObjectType"
534      *
535      * @see PersistenceManagerFactory#supportedOptions()
536      * @since 2.1
537      */
538     static String OPTION_MAPPING_HETEROGENEOUS_OBJECT_TYPE
539         = "javax.jdo.option.mapping.HeterogeneousObjectType";
540     /**
541      * "javax.jdo.option.mapping.HeterogeneousInterfaceType"
542      *
543      * @see PersistenceManagerFactory#supportedOptions()
544      * @since 2.1
545      */
546     static String OPTION_MAPPING_HETEROGENEOUS_INTERFACE_TYPE
547         = "javax.jdo.option.mapping.HeterogeneousInterfaceType";
548     /**
549      * "javax.jdo.option.mapping.JoinedTablePerClass"
550      *
551      * @see PersistenceManagerFactory#supportedOptions()
552      * @since 2.1
553      */
554     static String OPTION_MAPPING_JOINED_TABLE_PER_CLASS
555         = "javax.jdo.option.mapping.JoinedTablePerClass";
556     /**
557      * "javax.jdo.option.mapping.JoinedTablePerConcreteClass"
558      *
559      * @see PersistenceManagerFactory#supportedOptions()
560      * @since 2.1
561      */
562     static String OPTION_MAPPING_JOINED_TABLE_PER_CONCRETE_CLASS
563         = "javax.jdo.option.mapping.JoinedTablePerConcreteClass";
564     /**
565      * "javax.jdo.option.mapping.NonJoinedTablePerConcreteClass"
566      *
567      * @see PersistenceManagerFactory#supportedOptions()
568      * @since 2.1
569      */
570     static String OPTION_MAPPING_NON_JOINED_TABLE_PER_CONCRETE_CLASS
571         = "javax.jdo.option.mapping.NonJoinedTablePerConcreteClass";
572     /**
573      * "javax.jdo.option.mapping.RelationSubclassTable"
574      *
575      * @see PersistenceManagerFactory#supportedOptions()
576      * @since 2.1
577      */
578     static String OPTION_MAPPING_RELATION_SUBCLASS_TABLE
579         = "javax.jdo.option.mapping.RelationSubclassTable";
580 
581     /**
582      * "javax.jdo.PersistenceManagerFactoryClass"
583      *
584      * @see JDOHelper#getPersistenceManagerFactory(java.util.Map)
585      * @since 2.1
586      */
587     static String PROPERTY_PERSISTENCE_MANAGER_FACTORY_CLASS
588         = "javax.jdo.PersistenceManagerFactoryClass";
589 
590     /**
591      * "VendorName"
592      *
593      * @see JDOEnhancer#getProperties()
594      * @since 3.0
595      */
596     public final static String PROPERTY_ENHANCER_VENDOR_NAME
597         = "VendorName";
598 
599     /**
600      * "VersionNumber"
601      *
602      * @see JDOEnhancer#getProperties()
603      * @since 3.0
604      */
605     public final static String PROPERTY_ENHANCER_VERSION_NUMBER
606         = "VersionNumber";
607 
608     /** Exit value for no enhancer found 
609      * @since 3.0
610      * */
611     public final static int ENHANCER_NO_JDO_ENHANCER_FOUND = 2;
612 
613     /** Exit value for usage error 
614      * @since 3.0
615      * */
616     public final static int ENHANCER_USAGE_ERROR = 3;
617 
618     /** Exit value for an exception from the JDOEnhancer 
619      * @since 3.0
620      * */
621     public final static int ENHANCER_EXCEPTION = 1;
622 
623     /**
624      * "javax.jdo.option.Optimistic"
625      *
626      * @see PersistenceManagerFactory#getOptimistic()
627      * @since 2.1
628      */
629     static String PROPERTY_OPTIMISTIC
630         = "javax.jdo.option.Optimistic";
631     /**
632      * "javax.jdo.option.ReadOnly"
633      *
634      * @see PersistenceManagerFactory#getReadOnly()
635      * @since 2.2
636      */
637     static String PROPERTY_READONLY
638         = "javax.jdo.option.ReadOnly";
639     /**
640      * "javax.jdo.option.RetainValues"
641      *
642      * @see PersistenceManagerFactory#getRetainValues()
643      * @since 2.1
644      */
645     static String PROPERTY_RETAIN_VALUES
646         = "javax.jdo.option.RetainValues";
647     /**
648      * "javax.jdo.option.RestoreValues"
649      *
650      * @see PersistenceManagerFactory#getRestoreValues()
651      * @since 2.1
652      */
653     static String PROPERTY_RESTORE_VALUES
654         = "javax.jdo.option.RestoreValues";
655     /**
656      * "javax.jdo.option.IgnoreCache"
657      *
658      * @see PersistenceManagerFactory#getIgnoreCache()
659      * @since 2.1
660      */
661     static String PROPERTY_IGNORE_CACHE
662         = "javax.jdo.option.IgnoreCache";
663     /**
664      * "javax.jdo.option.NontransactionalRead"
665      *
666      * @see PersistenceManagerFactory#getNontransactionalRead()
667      * @since 2.1
668      */
669     static String PROPERTY_NONTRANSACTIONAL_READ
670         = "javax.jdo.option.NontransactionalRead";
671     /**
672      * "javax.jdo.option.NontransactionalWrite"
673      *
674      * @see PersistenceManagerFactory#getNontransactionalWrite()
675      * @since 2.1
676      */
677     static String PROPERTY_NONTRANSACTIONAL_WRITE
678         = "javax.jdo.option.NontransactionalWrite";
679     /**
680      * "javax.jdo.option.Multithreaded"
681      *
682      * @see PersistenceManagerFactory#getMultithreaded()
683      * @since 2.1
684      */
685     static String PROPERTY_MULTITHREADED
686         = "javax.jdo.option.Multithreaded";
687     /**
688      * "javax.jdo.option.TransactionIsolationLevel"
689      *
690      * @since 2.2
691      */
692     static String PROPERTY_TRANSACTION_ISOLATION_LEVEL
693         = "javax.jdo.option.TransactionIsolationLevel";
694     /**
695      * "javax.jdo.option.TransactionIsolationLevel.read-uncommitted"
696      *
697      * @see PersistenceManagerFactory#supportedOptions()
698      * @since 2.2
699      */
700     static String PROPERTY_TRANSACTION_ISOLATION_LEVEL_READ_UNCOMMITTED
701         = "javax.jdo.option.TransactionIsolationLevel.read-uncommitted";
702     /**
703      * "javax.jdo.option.TransactionIsolationLevel.read-committed"
704      *
705      * @see PersistenceManagerFactory#supportedOptions()
706      * @since 2.2
707      */
708     static String PROPERTY_TRANSACTION_ISOLATION_LEVEL_READ_COMMITTED
709         = "javax.jdo.option.TransactionIsolationLevel.read-committed";
710     /**
711      * "javax.jdo.option.TransactionIsolationLevel.repeatable-read"
712      *
713      * @see PersistenceManagerFactory#supportedOptions()
714      * @since 2.2
715      */
716     static String PROPERTY_TRANSACTION_ISOLATION_LEVEL_REPEATABLE_READ
717         = "javax.jdo.option.TransactionIsolationLevel.repeatable-read";
718     /**
719      * "javax.jdo.option.TransactionIsolationLevel.snapshot"
720      *
721      * @see PersistenceManagerFactory#supportedOptions()
722      * @since 2.2
723      */
724     static String PROPERTY_TRANSACTION_ISOLATION_LEVEL_SNAPSHOT
725         = "javax.jdo.option.TransactionIsolationLevel.snapshot";
726     /**
727      * "javax.jdo.option.TransactionIsolationLevel.serializable"
728      *
729      * @see PersistenceManagerFactory#supportedOptions()
730      * @since 2.2
731      */
732     static String PROPERTY_TRANSACTION_ISOLATION_LEVEL_SERIALIZABLE
733         = "javax.jdo.option.TransactionIsolationLevel.serializable";
734     /**
735      * "javax.jdo.option.DetachAllOnCommit"
736      *
737      * @see PersistenceManagerFactory#getDetachAllOnCommit()
738      * @since 2.1
739      */
740     static String PROPERTY_DETACH_ALL_ON_COMMIT
741         = "javax.jdo.option.DetachAllOnCommit";
742     /**
743      * "javax.jdo.option.CopyOnAttach"
744      *
745      * @see PersistenceManagerFactory#getCopyOnAttach()
746      * @since 2.1
747      */
748     static String PROPERTY_COPY_ON_ATTACH
749         = "javax.jdo.option.CopyOnAttach";
750     /**
751      * "javax.jdo.option.ConnectionDriverName"
752      *
753      * @see PersistenceManagerFactory#getConnectionDriverName()
754      * @since 2.1
755      */
756     static String PROPERTY_CONNECTION_DRIVER_NAME
757         = "javax.jdo.option.ConnectionDriverName";
758     /**
759      * "javax.jdo.option.ConnectionUserName"
760      *
761      * @see PersistenceManagerFactory#getConnectionUserName()
762      * @since 2.1
763      */
764     static String PROPERTY_CONNECTION_USER_NAME
765         = "javax.jdo.option.ConnectionUserName";
766     /**
767      * "javax.jdo.option.Password"
768      *
769      * @since 2.1
770      */
771     static String PROPERTY_CONNECTION_PASSWORD
772         = "javax.jdo.option.ConnectionPassword";
773     /**
774      * "javax.jdo.option.ConnectionURL"
775      *
776      * @see PersistenceManagerFactory#getConnectionURL()
777      * @since 2.1
778      */
779     static String PROPERTY_CONNECTION_URL
780         = "javax.jdo.option.ConnectionURL";
781     /**
782      * "javax.jdo.option.ConnectionFactoryName"
783      *
784      * @see PersistenceManagerFactory#getConnectionFactoryName()
785      * @since 2.1
786      */
787     static String PROPERTY_CONNECTION_FACTORY_NAME
788         = "javax.jdo.option.ConnectionFactoryName";
789     /**
790      * "javax.jdo.option.ConnectionFactory2Name"
791      *
792      * @see PersistenceManagerFactory#getConnectionFactory2Name()
793      * @since 2.1
794      */
795     static String PROPERTY_CONNECTION_FACTORY2_NAME
796         = "javax.jdo.option.ConnectionFactory2Name";
797     /**
798      * "javax.jdo.option.Mapping"
799      *
800      * @see PersistenceManagerFactory#getMapping()
801      * @since 2.1
802      */
803     static String PROPERTY_MAPPING
804         = "javax.jdo.option.Mapping";
805     /**
806      * "javax.jdo.option.PersistenceUnitName"
807      *
808      * @see PersistenceManagerFactory#getPersistenceUnitName()
809      * @since 2.1
810      */
811     static String PROPERTY_PERSISTENCE_UNIT_NAME
812         = "javax.jdo.option.PersistenceUnitName";
813     /**
814      * "javax.jdo.option.Name"
815      *
816      * @see PersistenceManagerFactory#getName()
817      * @since 2.1
818      */
819     static String PROPERTY_NAME
820         = "javax.jdo.option.Name";
821 
822     /**
823      * "javax.jdo.option.spi.ResourceName"
824      * @since 2.1
825      */
826     static String PROPERTY_SPI_RESOURCE_NAME
827         = "javax.jdo.option.spi.ResourceName";
828 
829     /**
830      * "javax.jdo.listener.InstanceLifecycleListener"
831      *
832      * @see PersistenceManagerFactory#addInstanceLifecycleListener(javax.jdo.listener.InstanceLifecycleListener,Class[])
833      * @see PersistenceManagerFactory#removeInstanceLifecycleListener(javax.jdo.listener.InstanceLifecycleListener)
834      */
835     static String PROPERTY_INSTANCE_LIFECYCLE_LISTENER
836         = "javax.jdo.listener.InstanceLifecycleListener";
837 
838     /**
839      * Prefix used to configure
840      * {@link javax.jdo.listener.InstanceLifecycleListener} instances
841      * externally.
842      * To configure an <code>InstanceLifecycleListener</code> via properties,
843      * create a property name with the prefix of
844      * this constant and append the fully qualified listener class name, then
845      * set its value to the comma- or whitespace-delimited list
846      * of persistence-capable classes whose instances are to be observed.
847      * Use no value to indicate that instances of
848      * all persistence-capable classes are to be observed.<br>
849      * For example,<br>
850      * <code>javax.jdo.option.InstanceLifecycleListener.com.example.MyListener=com.example.Foo,com.example.Bar</code><br>
851      * is equivalent to calling<br>
852      * <code>pmf.addInstanceLifecycleListener(new com.example.MyListener(), new Class[] {com.example.Foo.class, com.example.Bar.class});</code><br>
853      * where <code>pmf</code> is an instance of type
854      * <code>PersistenceManagerFactory</code>.
855      *
856      * @see javax.jdo.PersistenceManagerFactory#addInstanceLifecycleListener(javax.jdo.listener.InstanceLifecycleListener,Class[])
857      * @since 2.1
858      */
859     static String PROPERTY_PREFIX_INSTANCE_LIFECYCLE_LISTENER
860         = PROPERTY_INSTANCE_LIFECYCLE_LISTENER + ".";
861 
862     /**
863      * Mapping "javax.jdo.mapping.Catalog"
864      *
865      * @since 2.1
866      */
867     static String PROPERTY_MAPPING_CATALOG
868         = "javax.jdo.mapping.Catalog";
869     /**
870      * Mapping "javax.jdo.mapping.Schema"
871      *
872      * @since 2.1
873      */
874     static String PROPERTY_MAPPING_SCHEMA
875         = "javax.jdo.mapping.Schema";
876 
877     /**
878      * Specified value "javax.jdo.option.ServerTimeZoneID"
879      *
880      * @since 2.1
881      */
882     static String PROPERTY_SERVER_TIME_ZONE_ID
883         = "javax.jdo.option.ServerTimeZoneID";
884 
885     /**
886      * Specified value "javax.jdo.option.DatastoreReadTimeoutMillis"
887      *
888      * @since 3.0
889      */
890     static String PROPERTY_DATASTORE_READ_TIMEOUT_MILLIS
891         = "javax.jdo.option.DatastoreReadTimeoutMillis";
892 
893     /**
894      * Specified value "javax.jdo.option.DatastoreWriteTimeoutMillis"
895      *
896      * @since 3.0
897      */
898     static String PROPERTY_DATASTORE_WRITE_TIMEOUT_MILLIS
899         = "javax.jdo.option.DatastoreWriteTimeoutMillis";
900 
901     /**
902      * Nonconfigurable property constant "VendorName"
903      *
904      * @see PersistenceManagerFactory#getProperties()
905      * @since 2.1
906      */
907     static String NONCONFIGURABLE_PROPERTY_VENDOR_NAME
908         = "VendorName";
909 
910     /**
911      * Nonconfigurable property constant "VersionNumber"
912      *
913      * @see PersistenceManagerFactory#getProperties()
914      * @since 2.1
915      */
916     static String NONCONFIGURABLE_PROPERTY_VERSION_NUMBER
917         = "VersionNumber";
918 
919     /**
920      * The value for TransactionType to specify that transactions
921      * are managed by the Java Transactions API, as documented in
922      * JSR-220.
923      *
924      * @since 2.1
925      */
926     static String JTA
927         = "JTA";
928 
929     /**
930      * The value for TransactionType to specify that transactions
931      * are managed by the javax.jdo.Transaction instance, similar
932      * to the usage as documented in JSR-220.
933      *
934      * @since 2.1
935      */
936     static String RESOURCE_LOCAL
937         = "RESOURCE_LOCAL";
938 
939     /**
940      * The name of the resource for the DTD of the standard JDO configuration
941      * file.
942      *
943      * @since 2.1
944      */
945     static String JDOCONFIG_DTD_RESOURCE
946         = "javax/jdo/jdoconfig_3_0.dtd";
947 
948     /**
949      * The name of the resource for the XML schema of the standard JDO
950      * configuration file.
951      *
952      * @since 2.1
953      */
954     static String JDOCONFIG_XSD_RESOURCE
955         = "javax/jdo/jdoconfig_3_0.xsd";
956 
957     /**
958      * The name of the resource for the DTD of the standard JDO metadata file.
959      *
960      * @since 2.1
961      */
962     static String JDO_DTD_RESOURCE
963         = "javax/jdo/jdo_3_0.dtd";
964 
965     /**
966      * The name of the resource for the XML schema of the standard JDO
967      * metadata file.
968      *
969      * @since 2.1
970      */
971     static String JDO_XSD_RESOURCE
972         = "javax/jdo/jdo_3_0.xsd";
973 
974     /**
975      * The name of the resource for the DTD of the standard JDO
976      * object-relational mapping metadata file.
977      *
978      * @since 2.1
979      */
980     static String ORM_DTD_RESOURCE
981         = "javax/jdo/orm_3_0.dtd";
982 
983     /**
984      * The name of the resource for the XML schema of the standard JDO
985      * object-relational mapping metadata file.
986      *
987      * @since 2.1
988      */
989     static String ORM_XSD_RESOURCE
990         = "javax/jdo/orm_3_0.xsd";
991 
992     /**
993      * The name of the resource for the DTD of the standard JDO query
994      * metadata file.
995      *
996      * @since 2.1
997      */
998     static String JDOQUERY_DTD_RESOURCE
999         = "javax/jdo/jdoquery_3_0.dtd";
1000 
1001     /**
1002      * The name of the resource for the XML schema of the standard JDO query
1003      * metadata file.
1004      *
1005      * @since 2.1
1006      */
1007     static String JDOQUERY_XSD_RESOURCE
1008         = "javax/jdo/jdoquery_3_0.xsd";
1009 
1010     /**
1011      * The name of the anonymous PersistenceManagerFactory, which
1012      * is the empty string.
1013      *
1014      * @since 2.1
1015      */
1016     static String ANONYMOUS_PERSISTENCE_MANAGER_FACTORY_NAME
1017         = "";
1018 
1019     /**
1020      * Transaction isolation level representing the ability to read
1021      * uncommitted data.
1022      * @see PersistenceManagerFactory#getTransactionIsolationLevel()
1023      * @see Transaction#getIsolationLevel()
1024      * @since 2.2
1025      */
1026     public static final String TX_READ_UNCOMMITTED = "read-uncommitted"; 
1027 
1028     /**
1029      * Transaction isolation level representing the requirement to read
1030      * committed data only.
1031      * @see PersistenceManagerFactory#getTransactionIsolationLevel()
1032      * @see Transaction#getIsolationLevel()
1033      * @since 2.2
1034      */
1035     public static final String TX_READ_COMMITTED = "read-committed"; 
1036 
1037     /**
1038      * Transaction isolation level representing the requirement to read
1039      * the same data in the same transaction.
1040      * @see PersistenceManagerFactory#getTransactionIsolationLevel()
1041      * @see Transaction#getIsolationLevel()
1042      * @since 2.2
1043      */
1044     public static final String TX_REPEATABLE_READ = "repeatable-read"; 
1045 
1046     /**
1047      * Transaction isolation level representing the requirement to keep
1048      * a snapshot for reading data.
1049      * @see PersistenceManagerFactory#getTransactionIsolationLevel()
1050      * @see Transaction#getIsolationLevel()
1051      * @since 2.2
1052      */
1053     public static final String TX_SNAPSHOT = "snapshot"; 
1054 
1055     /**
1056      * Transaction isolation level representing the requirement to serialize
1057      * transactions.
1058      * @see PersistenceManagerFactory#getTransactionIsolationLevel()
1059      * @see Transaction#getIsolationLevel()
1060      * @since 2.2
1061      */
1062     public static final String TX_SERIALIZABLE = "serializable"; 
1063 
1064 }