This package contains the interfaces and classes used by JDO implementations.

JDO defines interfaces and classes to be used by application programmers when using classes whose instances are to be stored in persistent storage (persistence-capable classes), and specifies the contracts between suppliers of persistence-capable classes and the runtime environment (which is part of the JDO implementation).

The PersistenceCapable interface is implemented by all classes whose instances are to be made persistent. The implementation might be done by a combination of techniques, as determined by the JDO vendor:

- Pre-processing .java files
- Post-processing .class files
- Generating .java or .class files directly from an abstraction

The StateManager interface is the implementation's contact point with the PersistenceCapable instances. It defines methods that are called by the PersistenceCapable instances to implement the required PersistenceCapable behavior for persistent and transactional instances.

The JDOPermission class is used to manage security controls on JDO implementations.

The RegisterClassEvent class and RegisterClassListener interface are used by JDO implementations that need access to metadata of PersistenceCapable classes.

The JDOImplHelper class contains helper methods for JDO implementations.