Package org.apache.openjpa.enhance

OpenJPA Enhancer


Interface Summary
ApplicationIdTool.ObjectIdLoader Interface implemented by metadata factories that can load non-existant object id classes.
AttributeTranslator Instances of this interface can convert a positional index for a FieldMetaData that uses property access into the underlying field name.
DynamicPersistenceCapable Instances that implement this marker interface are dynamically-generated subtypes of managed types that were loaded before being enhanced.
DynamicStorage Interface for dynamically generated classes.
FieldConsumer Consumes persistent field values.
FieldManager Manages persistent fields.
FieldSupplier Supplies persistent field values.
ManagedInstanceProvider Instances of this interface can provide an underlying instance.
PCDataGenerator.DynamicPCData Dynamic PCDatas generated will implement this interface to simplify initialization.
PCEnhancer.AuxiliaryEnhancer Plugin interface for additional enhancement.
PCRegistry.RegisterClassListener Listener for persistent class registration events.
PersistenceCapable The interface that persistent instances will implement.
RuntimeUnenhancedClassesModes Possible values for the openjpa.RuntimeUnenhancedClasses configuration setting.
RuntimeUnenhancedClasssesModes Possible values for the openjpa.RuntimeUnenhancedClasses configuration setting.
StateManager Internal state manager for managed instances.

Class Summary
ApplicationIdTool Generates a class appropriate for use as an application identity class.
ApplicationIdTool.Flags Run flags.
ClassRedefiner Redefines the method bodies of existing classes.
CodeGenerator Generates Java class code from metadata.
DynamicStorageGenerator Factory for creating new DynamicStorage classes.
InstrumentationFactory Factory for obtaining an Instrumentation instance.
ManagedClassSubclasser Redefines the method bodies of existing unenhanced classes to make them notify state managers of mutations.
PCClassFileTransformer Transformer that makes persistent classes implement the PersistenceCapable interface at runtime.
PCDataGenerator Generates PCDataGenerator.DynamicPCData instances which avoid primitve wrappers to optimize memory use and performance at the cost of slightly higher startup time.
PCEnhancer Bytecode enhancer used to enhance persistent classes from metadata.
PCEnhancer.Flags Run flags.
PCEnhancerAgent Java agent that makes persistent classes work with OpenJPA at runtime.
PCRegistry Tracks registered persistence-capable classes.
PCSubclassValidator Validates that a given type meets the JPA contract, plus a few OpenJPA-specific additions for subclassing / redefinition: must have an accessible no-args constructor must be a public or protected class must not be final must not extend an enhanced class all persistent data represented by accessible setter/getter methods (persistent properties) if versioning is to be used, exactly one persistent property for the numeric version data When using property access, the backing field for a persistent property must be: private set only in the designated setter, in the constructor, or in Object.clone(), readObject(ObjectInputStream), or Externalizable#readExternal(ObjectInput). read only in the designated getter and the constructor.
RedefinitionHelper Helper methods for managed types that use method redefinition for field tracking.
ReflectingPersistenceCapable Implementation of the PersistenceCapable interface that can handle the persistence-capable contract for instances that were not enhanced before class load time.
Reflection Reflection utilities used to support and augment enhancement.

Package org.apache.openjpa.enhance Description

OpenJPA Enhancer

This package provides a bytecode enhancer used to post-process classes for use in a OpenJPA runtime. A tool for generating application identity class sourcecode is also provided.

Copyright © 2006-2009 Apache Software Foundation. All Rights Reserved.