public class TransformerFactory
extends java.lang.Object
EntityManagerSetupImpl.predeploy(PersistenceUnitInfo, java.util.Map)
Note: The Session's Project is is scanned to ensure that weaving is
supported and is modified to suit (set the org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy
for the Descriptor).
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CANNOT_WEAVE_CHANGETRACKING |
static java.lang.String |
CANNOT_WEAVE_VIRTUAL_ONE_TO_ONE |
protected java.util.Map<java.lang.String,ClassDetails> |
classDetailsMap |
protected java.lang.ClassLoader |
classLoader |
protected java.util.Collection<MetadataClass> |
entityClasses |
protected Session |
session |
protected boolean |
weaveChangeTracking |
protected boolean |
weaveFetchGroups |
protected boolean |
weaveInternal |
protected boolean |
weaveLazy |
protected boolean |
weaveMappedSuperClass |
static java.lang.String |
WEAVER_CLASS_NOT_IN_PROJECT |
static java.lang.String |
WEAVER_DISABLE_BY_SYSPROP |
static java.lang.String |
WEAVER_DISABLE_CT_NOT_SUPPORTED |
static java.lang.String |
WEAVER_FOUND_USER_IMPL_CT |
static java.lang.String |
WEAVER_NULL_PROJECT |
static java.lang.String |
WEAVER_PROCESSING_CLASS |
protected boolean |
weaveRest |
| Constructor and Description |
|---|
TransformerFactory(Session session,
java.util.Collection<MetadataClass> entityClasses,
java.lang.ClassLoader classLoader,
boolean weaveLazy,
boolean weaveChangeTracking,
boolean weaveFetchGroups,
boolean weaveInternal,
boolean weaveRest,
boolean weaveMappedSuperClass) |
| Modifier and Type | Method and Description |
|---|---|
void |
addClassDetailsForMappedSuperClasses(MetadataClass clz,
ClassDescriptor initialDescriptor,
ClassDetails classDetails,
java.util.Map classDetailsMap,
java.util.List unMappedAttributes,
boolean weaveChangeTracking)
INTERNAL:
Look higher in the hierarchy for the mappings listed in the unMappedAttribute list.
|
void |
buildClassDetailsAndModifyProject()
Build a list ClassDetails instance that contains a ClassDetails for each class
in our entities list.
|
PersistenceWeaver |
buildPersistenceWeaver() |
protected boolean |
canChangeTrackingBeEnabled(ClassDescriptor descriptor,
MetadataClass clz,
boolean globalWeaveChangeTracking)
Check to ensure the class meets all the conditions necessary to enable change tracking
This could occur either if the class already has change tracking implemented or if the
class is capable of having change tracking woven based on the descriptor.
|
protected boolean |
canWeaveValueHolders(MetadataClass clz,
java.util.List mappings)
Determine if value holders are required to be weaved into the class.
|
static PersistenceWeaver |
createTransformerAndModifyProject(Session session,
java.util.Collection<MetadataClass> entityClasses,
java.lang.ClassLoader classLoader,
boolean weaveLazy,
boolean weaveChangeTracking,
boolean weaveFetchGroups,
boolean weaveInternal,
boolean weaveRest,
boolean weaveMappedSuperClass) |
protected ClassDescriptor |
findDescriptor(Project project,
java.lang.String className)
Find a descriptor by name in the given project
used to avoid referring to descriptors by class.
|
protected boolean |
hasFieldInClass(MetadataClass metadataClass,
java.lang.String attributeName)
Return if the class contains the field.
|
protected void |
log(int level,
java.lang.String msg,
java.lang.Object[] params) |
protected java.util.List |
storeAttributeMappings(MetadataClass metadataClass,
ClassDetails classDetails,
java.util.List mappings,
boolean weaveValueHolders)
INTERNAL:
Store a set of attribute mappings on the given ClassDetails that correspond to the given class.
|
protected boolean |
wasChangeTrackingAlreadyWeaved(java.lang.Class clz) |
public static final java.lang.String WEAVER_DISABLE_CT_NOT_SUPPORTED
public static final java.lang.String WEAVER_FOUND_USER_IMPL_CT
public static final java.lang.String WEAVER_NULL_PROJECT
public static final java.lang.String WEAVER_DISABLE_BY_SYSPROP
public static final java.lang.String WEAVER_CLASS_NOT_IN_PROJECT
public static final java.lang.String WEAVER_PROCESSING_CLASS
public static final java.lang.String CANNOT_WEAVE_CHANGETRACKING
public static final java.lang.String CANNOT_WEAVE_VIRTUAL_ONE_TO_ONE
protected Session session
protected java.util.Collection<MetadataClass> entityClasses
protected java.util.Map<java.lang.String,ClassDetails> classDetailsMap
protected java.lang.ClassLoader classLoader
protected boolean weaveChangeTracking
protected boolean weaveLazy
protected boolean weaveFetchGroups
protected boolean weaveInternal
protected boolean weaveRest
protected boolean weaveMappedSuperClass
public TransformerFactory(Session session,
java.util.Collection<MetadataClass> entityClasses,
java.lang.ClassLoader classLoader,
boolean weaveLazy,
boolean weaveChangeTracking,
boolean weaveFetchGroups,
boolean weaveInternal,
boolean weaveRest,
boolean weaveMappedSuperClass)
public static PersistenceWeaver createTransformerAndModifyProject(Session session, java.util.Collection<MetadataClass> entityClasses, java.lang.ClassLoader classLoader, boolean weaveLazy, boolean weaveChangeTracking, boolean weaveFetchGroups, boolean weaveInternal, boolean weaveRest, boolean weaveMappedSuperClass)
public void addClassDetailsForMappedSuperClasses(MetadataClass clz, ClassDescriptor initialDescriptor, ClassDetails classDetails, java.util.Map classDetailsMap, java.util.List unMappedAttributes, boolean weaveChangeTracking)
public PersistenceWeaver buildPersistenceWeaver()
public void buildClassDetailsAndModifyProject()
protected boolean canChangeTrackingBeEnabled(ClassDescriptor descriptor,
MetadataClass clz,
boolean globalWeaveChangeTracking)
protected boolean wasChangeTrackingAlreadyWeaved(java.lang.Class clz)
protected boolean canWeaveValueHolders(MetadataClass clz, java.util.List mappings)
protected ClassDescriptor findDescriptor(Project project,
java.lang.String className)
protected boolean hasFieldInClass(MetadataClass metadataClass, java.lang.String attributeName)
protected java.util.List storeAttributeMappings(MetadataClass metadataClass, ClassDetails classDetails, java.util.List mappings, boolean weaveValueHolders)
protected void log(int level,
java.lang.String msg,
java.lang.Object[] params)