public class Project extends CoreProject<ClassDescriptor,Login,DatabaseSession> implements java.io.Serializable, java.lang.Cloneable
Responsibilities:
DatabaseLogin
, Serialized FormConstructor and Description |
---|
Project()
PUBLIC: Create a new project.
|
Project(DatabaseLogin login)
PUBLIC: Create a new project that will connect through JDBC using the login information.
|
Project(Login login)
PUBLIC: Create a new project that will connect through the login information.
|
Modifier and Type | Method and Description |
---|---|
void |
addAlias(java.lang.String alias, ClassDescriptor descriptor)
PUBLIC: Add an alias for the descriptor.
|
void |
addDefaultReadOnlyClass(java.lang.Class readOnlyClass)
PUBLIC: Add the read-only class which apply to each UnitOfWork created by default.
|
void |
addDescriptor(ClassDescriptor descriptor)
PUBLIC: Add the descriptor to the project.
|
void |
addDescriptor(ClassDescriptor descriptor, org.eclipse.persistence.internal.sessions.DatabaseSessionImpl session)
INTERNAL: Used by the BuilderInterface when reading a Project from INI files.
|
void |
addDescriptors(java.util.Collection descriptors, org.eclipse.persistence.internal.sessions.DatabaseSessionImpl session)
INTERNAL: Add the descriptors to the session.
|
void |
addDescriptors(Project project, org.eclipse.persistence.internal.sessions.DatabaseSessionImpl session)
PUBLIC: Merge the descriptors from another project into this one.
|
void |
addJPAQuery(DatabaseQuery query)
INTERNAL: Return all pre-defined not yet parsed EJBQL queries.
|
void |
addJPATablePerTenantQuery(DatabaseQuery query)
INTERNAL: Return all pre-defined not yet parsed EJBQL queries to table per tenant entities.
|
void |
addMappedSuperclass(java.lang.String key, ClassDescriptor value, boolean replace)
INTERNAL: 266912: Add a descriptor to the Map of mappedSuperclass descriptors
|
void |
addMetamodelIdClassMapEntry(java.lang.String ownerName, java.lang.String name)
INTERNAL: Add an IdClass entry to the map of ids for a particular owner This function is used exclusively by the Metamodel API.
|
void |
addPartitioningPolicy(PartitioningPolicy partitioningPolicy)
PUBLIC: Set the map of partitioning policies, keyed by name.
|
void |
addSQLResultSetMapping(SQLResultSetMapping sqlResultSetMapping)
PUBLIC: Add a named SQLResultSetMapping to this project.
|
boolean |
allowNativeSQLQueries()
INTERNAL: Return true if native sql is allowed on this project.
|
boolean |
allowTablePerMultitenantDDLGeneration()
INTERNAL: Return true if native sql is allowed on this project.
|
void |
applyLogin()
INTERNAL: Default apply login implementation.
|
void |
assumeExistenceForDoesExist()
PUBLIC: Switch all descriptors to assume existence for non-null primary keys.
|
void |
checkCacheForDoesExist()
PUBLIC: Switch all descriptors to check the cache for existence.
|
void |
checkDatabaseForDoesExist()
PUBLIC: Switch all descriptors to check the database for existence.
|
Project |
clone()
INTERNAL: Clones the descriptor
|
void |
conformAllDescriptors()
PUBLIC: Set all this project's descriptors to conform all read queries within the context of the unit of work.
|
void |
convertClassNamesToClasses(java.lang.ClassLoader classLoader)
INTERNAL: Convert all the class-name-based settings in this project to actual class-based settings.
|
DatabaseSession |
createDatabaseSession()
PUBLIC: Factory method to create session.
|
Server |
createServerSession()
PUBLIC: Factory method to create a server session.
|
Server |
createServerSession(ConnectionPolicy defaultConnectionPolicy)
PUBLIC: Factory method to create a server session.
|
Server |
createServerSession(int min, int max)
PUBLIC: Factory method to create a server session.
|
Server |
createServerSession(int initial, int min, int max)
PUBLIC: Factory method to create a server session.
|
java.util.Map |
getAliasDescriptors()
INTERNAL: Returns the alias descriptors hashtable.
|
java.util.Map<java.lang.String,AttributeGroup> |
getAttributeGroups()
INTERNAL: List of named AttributesGroups that will be copied to the session at initialization time.
|
ClassDescriptor |
getClassDescriptor(java.lang.Class theClass)
PUBLIC: Return the descriptor specified for the class.
|
java.util.Collection<java.lang.String> |
getClassNamesForWeaving()
INTERNAL: Returns all classes in this project that are needed for weaving.
|
Login |
getDatasourceLogin()
PUBLIC: Return the login, the login holds any database connection information given.
|
CacheIsolationType |
getDefaultCacheIsolation()
PUBLIC: Return the project level default for class cache isolation;
|
java.lang.Class |
getDefaultIdentityMapClass()
PUBLIC: Return default value for descriptor cache type.
|
int |
getDefaultIdentityMapSize()
PUBLIC: Return default value descriptor cache size.
|
IdValidation |
getDefaultIdValidation()
PUBLIC: Return default value for descriptor primary key validation.
|
boolean |
getDefaultIsIsolated()
Deprecated.
see getDefaultCacheIsolation()
|
QueryResultsCachePolicy |
getDefaultQueryResultsCachePolicy()
PUBLIC: Return the default values for query caching options for all named queries.
|
java.util.Vector |
getDefaultReadOnlyClasses()
PUBLIC: Returns the default set of read-only classes.
|
boolean |
getDefaultTemporalMutable()
PUBLIC: Return the default setting for configuring if dates and calendars are mutable.
|
ClassDescriptor |
getDescriptor(java.lang.Class theClass)
PUBLIC: Return the descriptor specified for the class.
|
ClassDescriptor |
getDescriptorForAlias(java.lang.String alias)
PUBLIC: Return the descriptor for the alias
|
java.util.Map<java.lang.Class,ClassDescriptor> |
getDescriptors()
PUBLIC: Return the descriptors in a ClassDescriptors Map keyed on the Java class.
|
java.util.List<DatabaseQuery> |
getJPAQueries()
INTERNAL: Return all pre-defined not yet parsed JPQL queries.
|
java.util.List<DatabaseQuery> |
getJPATablePerTenantQueries()
INTERNAL: Return all pre-defined not yet parsed JPQL queries to table per tenant entities.
|
org.eclipse.persistence.internal.helper.ConcurrentFixedCache |
getJPQLParseCache()
INTERNAL: Return the JPQL parse cache.
|
int |
getJPQLParseCacheMaxSize()
ADVANCED: Return the JPQL parse cache max size.
|
DatabaseLogin |
getLogin()
OBSOLETE: Return the login, the login holds any database connection information given.
|
ClassDescriptor |
getMappedSuperclass(java.lang.String key)
INTERNAL: Use the Metadata key parameter to lookup the Descriptor from the Map of mappedSuperclass descriptors
|
java.util.Map<java.lang.String,ClassDescriptor> |
getMappedSuperclassDescriptors()
INTERNAL: Return the Map of RelationalDescriptor objects representing mapped superclass parents keyed by className of the metadata class.
|
java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getMetamodelIdClassMap()
INTERNAL: Return the Map of IdClass attribute lists keyed on owner class name.
|
MultitenantPolicy |
getMultitenantPolicy()
INTERNAL:
|
java.lang.String |
getName()
PUBLIC: get the name of the project.
|
java.util.List<ClassDescriptor> |
getOrderedDescriptors()
INTERNAL: Return the descriptors in the order added.
|
java.util.Map<java.lang.String,PartitioningPolicy> |
getPartitioningPolicies()
PUBLIC: Return the map of partitioning policies, keyed by name.
|
PartitioningPolicy |
getPartitioningPolicy(java.lang.String name)
PUBLIC: Return the partitioning policies for the name.
|
java.util.List<DatabaseQuery> |
getQueries()
INTERNAL: List of queries that upon initialization are copied over to the session
|
SQLResultSetMapping |
getSQLResultSetMapping(java.lang.String sqlResultSetMapping)
PUBLIC: Get a named SQLResultSetMapping from this project.
|
java.util.Collection<java.lang.String> |
getStructConverters()
INTERNAL: Returns structure converter class names that would be set on the databasePlatform instance This is used to avoid the platform instance changing at login.
|
java.lang.String |
getVPDIdentifier()
INTERNAL: Return the VPD identifier for this project.
|
java.lang.String |
getVPDLastIdentifierClassName()
INTERNAL: Return the name of the last class to set a VPD identifiers.
|
boolean |
hasGenericHistorySupport()
INTERNAL: Answers if at least one Descriptor or Mapping had a HistoryPolicy at initialize time.
|
boolean |
hasIsolatedCacheClassWithoutUOWIsolation()
INTERNAL: Return whether this project has a descriptor that is both Isolated and has a cache isolation level other than ISOLATE_CACHE_ALWAYS
|
boolean |
hasIsolatedClasses()
INTERNAL: Return if any descriptors are isolated.
|
boolean |
hasMappedSuperclass(java.lang.String className)
INTERNAL: Return whether the given class is mapped as superclass.
|
boolean |
hasMappedSuperclasses()
INTERNAL: Return whether there any mappings that are mapped superclasses.
|
boolean |
hasMappingsPostCalculateChangesOnDeleted()
INTERNAL: Indicates whether there is at least one descriptor that has at least on mapping that require a call on deleted objects to update change sets.
|
boolean |
hasNonIsolatedUOWClasses()
INTERNAL: Return if any descriptors are not isolated to the unit of work.
|
boolean |
hasProxyIndirection()
INTERNAL: Return if any descriptors use ProxyIndirection.
|
boolean |
hasSQLResultSetMapping(java.lang.String sqlResultSetMapping)
PUBLIC: Return true if the sql result set mapping name exists.
|
boolean |
hasVPDIdentifier(org.eclipse.persistence.internal.sessions.AbstractSession session)
PUBLIC: Return true if there is a VPD identifier for this project.
|
void |
setAliasDescriptors(java.util.Map aHashtable)
INTERNAL: Set the alias descriptors hashtable.
|
void |
setAllowNativeSQLQueries(boolean allowNativeSQLQueries)
INTERNAL: Set whether native sql is allowed on this project.
|
void |
setAllowTablePerMultitenantDDLGeneration(boolean allowTablePerMultitenantDDLGeneration)
INTERNAL: Set whether ddl generation should allowed for table per tenant multitenant descriptors.
|
void |
setClassNamesForWeaving(java.util.Collection<java.lang.String> classNamesForWeaving)
INTERNAL: Returns all classes in this project that are needed for weaving.
|
void |
setDatasourceLogin(Login datasourceLogin)
PUBLIC: Set the login to be used to connect to the database for this project.
|
void |
setDefaultCacheIsolation(CacheIsolationType isolationType)
PUBLIC: Set project level default value for class cache isolation.
|
void |
setDefaultIdentityMapClass(java.lang.Class defaultIdentityMapClass)
PUBLIC: Set default value for descriptor cache type.
|
void |
setDefaultIdentityMapSize(int defaultIdentityMapSize)
PUBLIC: Set default value descriptor cache size.
|
void |
setDefaultIdValidation(IdValidation defaultIdValidation)
PUBLIC: Set default value for descriptor primary key validation.
|
void |
setDefaultIsIsolated(boolean defaultIsIsolated)
Deprecated.
see setDefaultCacheIsolation(CacheIsolationType)
|
void |
setDefaultQueryResultsCachePolicy(QueryResultsCachePolicy defaultQueryResultsCachePolicy)
PUBLIC: Set the default values for query caching options for all named queries.
|
void |
setDefaultReadOnlyClasses(java.util.Collection newValue)
PUBLIC: Set the read-only classes which apply to each UnitOfWork create by default.
|
void |
setDefaultTemporalMutable(boolean defaultTemporalMutable)
PUBLIC: Set the default setting for configuring if dates and calendars are mutable.
|
void |
setDeferModificationsUntilCommit(int deferralLevel)
ADVANCED: This method is a 'helper' method for updating all of the descriptors within this project to have a particular deferral level.
|
void |
setDescriptors(java.util.Map descriptors)
INTERNAL: Set the descriptors registered with this session.
|
void |
setHasGenericHistorySupport(boolean hasGenericHistorySupport)
INTERNAL: Set to true during descriptor initialize if any descriptor has history.
|
void |
setHasIsolatedClasses(boolean hasIsolatedClasses)
INTERNAL: Set to true during descriptor initialize if any descriptor is isolated.
|
void |
setHasMappingsPostCalculateChangesOnDeleted(boolean hasMappingsPostCalculateChangesOnDeleted)
INTERNAL: Indicates whether there is at least one descriptor that has at least on mapping that require a call on deleted objects to update change sets.
|
void |
setHasNonIsolatedUOWClasses(boolean hasNonIsolatedUOWClasses)
INTERNAL: Set if any descriptors are not isolated to the unit of work.
|
void |
setHasProxyIndirection(boolean hasProxyIndirection)
INTERNAL: Set to true during descriptor initialize if any descriptor uses ProxyIndirection Determines if ProxyIndirectionPolicy.getValueFromProxy should be called.
|
void |
setJPQLParseCacheMaxSize(int maxSize)
ADVANCED: Set the JPQL parse cache max size.
|
void |
setLogin(DatabaseLogin datasourceLogin)
PUBLIC: Set the login to be used to connect to the database for this project.
|
void |
setLogin(Login datasourceLogin)
PUBLIC: Set the login to be used to connect to the database for this project.
|
void |
setMultitenantPolicy(MultitenantPolicy policy)
INTERNAL: Set the multitenant policy.
|
void |
setName(java.lang.String name)
PUBLIC: Set the name of the project.
|
void |
setOrderedDescriptors(java.util.List<ClassDescriptor> orderedDescriptors)
INTERNAL: Set the descriptors order.
|
void |
setPartitioningPolicies(java.util.Map<java.lang.String,PartitioningPolicy> partitioningPolicies)
PUBLIC: Set the map of partitioning policies, keyed by name.
|
void |
setQueries(java.util.List<DatabaseQuery> queries)
INTERNAL:
|
void |
setStructConverters(java.util.Collection<java.lang.String> structConverters)
INTERNAL: Returns structure converter class names that would be set on the databasePlatform instance This is used to avoid the platform instance changing at login.
|
void |
setVPDIdentifier(java.lang.String vpdIdentifier)
INTERNAL: Set the VPD identifier for this project.
|
void |
setVPDLastIdentifierClassName(java.lang.String vpdLastIdentifierClassName)
INTERNAL: Set from individual descriptors from the project that set a VPD identifier and used in validation exception.
|
java.lang.String |
toString()
INTERNAL:
|
void |
useCacheIdentityMap()
PUBLIC: Switch all descriptors to use the cache identity map.
|
void |
useCacheIdentityMap(int cacheSize)
PUBLIC: Switch all descriptors to use the cache identity map the size.
|
void |
useFullIdentityMap()
PUBLIC: Switch all descriptors to use the full identity map.
|
void |
useFullIdentityMap(int initialCacheSize)
PUBLIC: Switch all descriptors to use the full identity map with initial cache size.
|
void |
useNoIdentityMap()
PUBLIC: Switch all descriptors to use no identity map.
|
void |
useSoftCacheWeakIdentityMap()
PUBLIC: Switch all descriptors to use the soft cache weak identity map.
|
void |
useSoftCacheWeakIdentityMap(int cacheSize)
PUBLIC: Switch all descriptors to use the soft cache weak identity map with soft cache size.
|
boolean |
usesOptimisticLocking()
INTERNAL: Asks each descriptor if is uses optimistic locking.
|
boolean |
usesSequencing()
INTERNAL: Asks each descriptor if is uses sequencing.
|
void |
useWeakIdentityMap()
PUBLIC: Switch all descriptors to use the weak identity map.
|
void |
useWeakIdentityMap(int initialCacheSize)
PUBLIC: Switch all descriptors to use the weak identity map.
|
public Project()
public Project(Login login)
public Project(DatabaseLogin login)
public QueryResultsCachePolicy getDefaultQueryResultsCachePolicy()
public void setDefaultQueryResultsCachePolicy(QueryResultsCachePolicy defaultQueryResultsCachePolicy)
public boolean getDefaultTemporalMutable()
public void setDefaultTemporalMutable(boolean defaultTemporalMutable)
public java.util.List<DatabaseQuery> getJPAQueries()
public java.util.List<DatabaseQuery> getJPATablePerTenantQueries()
public org.eclipse.persistence.internal.helper.ConcurrentFixedCache getJPQLParseCache()
public void setJPQLParseCacheMaxSize(int maxSize)
public int getJPQLParseCacheMaxSize()
public java.util.List<DatabaseQuery> getQueries()
public void setQueries(java.util.List<DatabaseQuery> queries)
queries
-public java.util.Map<java.lang.String,AttributeGroup> getAttributeGroups()
public void setVPDIdentifier(java.lang.String vpdIdentifier)
public void setVPDLastIdentifierClassName(java.lang.String vpdLastIdentifierClassName)
public void addDefaultReadOnlyClass(java.lang.Class readOnlyClass)
public void addDescriptor(ClassDescriptor descriptor)
addDescriptor
in class CoreProject<ClassDescriptor,Login,DatabaseSession>
public void addDescriptor(ClassDescriptor descriptor, org.eclipse.persistence.internal.sessions.DatabaseSessionImpl session)
public void addDescriptors(java.util.Collection descriptors, org.eclipse.persistence.internal.sessions.DatabaseSessionImpl session)
public void addDescriptors(Project project, org.eclipse.persistence.internal.sessions.DatabaseSessionImpl session)
public void addSQLResultSetMapping(SQLResultSetMapping sqlResultSetMapping)
public void conformAllDescriptors()
public void convertClassNamesToClasses(java.lang.ClassLoader classLoader)
convertClassNamesToClasses
in class CoreProject<ClassDescriptor,Login,DatabaseSession>
public void assumeExistenceForDoesExist()
public void checkCacheForDoesExist()
public void checkDatabaseForDoesExist()
public Project clone()
clone
in class java.lang.Object
public DatabaseSession createDatabaseSession()
createDatabaseSession
in class CoreProject<ClassDescriptor,Login,DatabaseSession>
public Server createServerSession()
public Server createServerSession(int min, int max)
public Server createServerSession(int initial, int min, int max)
public Server createServerSession(ConnectionPolicy defaultConnectionPolicy)
public java.util.Vector getDefaultReadOnlyClasses()
public java.lang.Class getDefaultIdentityMapClass()
public int getDefaultIdentityMapSize()
@Deprecated public boolean getDefaultIsIsolated()
public CacheIsolationType getDefaultCacheIsolation()
public IdValidation getDefaultIdValidation()
public ClassDescriptor getClassDescriptor(java.lang.Class theClass)
public ClassDescriptor getDescriptor(java.lang.Class theClass)
getDescriptor
in class CoreProject<ClassDescriptor,Login,DatabaseSession>
public java.util.Map<java.lang.Class,ClassDescriptor> getDescriptors()
public java.util.List<ClassDescriptor> getOrderedDescriptors()
getOrderedDescriptors
in class CoreProject<ClassDescriptor,Login,DatabaseSession>
public void setOrderedDescriptors(java.util.List<ClassDescriptor> orderedDescriptors)
public java.util.Collection<java.lang.String> getClassNamesForWeaving()
public void setClassNamesForWeaving(java.util.Collection<java.lang.String> classNamesForWeaving)
public DatabaseLogin getLogin()
public Login getDatasourceLogin()
getDatasourceLogin
in class CoreProject<ClassDescriptor,Login,DatabaseSession>
public java.lang.String getName()
public SQLResultSetMapping getSQLResultSetMapping(java.lang.String sqlResultSetMapping)
public java.util.Collection<java.lang.String> getStructConverters()
public void setStructConverters(java.util.Collection<java.lang.String> structConverters)
public java.lang.String getVPDLastIdentifierClassName()
public java.lang.String getVPDIdentifier()
public MultitenantPolicy getMultitenantPolicy()
public boolean hasGenericHistorySupport()
public void setDefaultReadOnlyClasses(java.util.Collection newValue)
public void setDefaultIdentityMapClass(java.lang.Class defaultIdentityMapClass)
public void setDefaultIdentityMapSize(int defaultIdentityMapSize)
@Deprecated public void setDefaultIsIsolated(boolean defaultIsIsolated)
public void setDefaultCacheIsolation(CacheIsolationType isolationType)
public void setDefaultIdValidation(IdValidation defaultIdValidation)
public void setDescriptors(java.util.Map descriptors)
public void setDeferModificationsUntilCommit(int deferralLevel)
public void setHasGenericHistorySupport(boolean hasGenericHistorySupport)
public boolean hasIsolatedCacheClassWithoutUOWIsolation()
public boolean hasIsolatedClasses()
public void setHasIsolatedClasses(boolean hasIsolatedClasses)
public boolean hasNonIsolatedUOWClasses()
public void setHasNonIsolatedUOWClasses(boolean hasNonIsolatedUOWClasses)
public boolean hasProxyIndirection()
public boolean hasSQLResultSetMapping(java.lang.String sqlResultSetMapping)
public boolean hasVPDIdentifier(org.eclipse.persistence.internal.sessions.AbstractSession session)
public void setHasProxyIndirection(boolean hasProxyIndirection)
public void setLogin(DatabaseLogin datasourceLogin)
public void setMultitenantPolicy(MultitenantPolicy policy)
public void setLogin(Login datasourceLogin)
setLogin
in class CoreProject<ClassDescriptor,Login,DatabaseSession>
public void setDatasourceLogin(Login datasourceLogin)
public void setName(java.lang.String name)
public java.lang.String toString()
toString
in class java.lang.Object
public void useCacheIdentityMap()
public void useCacheIdentityMap(int cacheSize)
public void useFullIdentityMap()
public void useFullIdentityMap(int initialCacheSize)
public void useNoIdentityMap()
public void useSoftCacheWeakIdentityMap()
public void useSoftCacheWeakIdentityMap(int cacheSize)
public boolean usesOptimisticLocking()
public boolean usesSequencing()
public void useWeakIdentityMap()
public void useWeakIdentityMap(int initialCacheSize)
public void applyLogin()
public java.util.Map getAliasDescriptors()
public void addAlias(java.lang.String alias, ClassDescriptor descriptor)
public boolean allowTablePerMultitenantDDLGeneration()
public boolean allowNativeSQLQueries()
public ClassDescriptor getDescriptorForAlias(java.lang.String alias)
public void setAliasDescriptors(java.util.Map aHashtable)
public void setAllowTablePerMultitenantDDLGeneration(boolean allowTablePerMultitenantDDLGeneration)
public void setAllowNativeSQLQueries(boolean allowNativeSQLQueries)
public boolean hasMappingsPostCalculateChangesOnDeleted()
public void setHasMappingsPostCalculateChangesOnDeleted(boolean hasMappingsPostCalculateChangesOnDeleted)
public boolean hasMappedSuperclasses()
public boolean hasMappedSuperclass(java.lang.String className)
className
-public void addJPAQuery(DatabaseQuery query)
public void addJPATablePerTenantQuery(DatabaseQuery query)
public void addMappedSuperclass(java.lang.String key, ClassDescriptor value, boolean replace)
key
- (Metadata class)value
- (RelationalDescriptor)public ClassDescriptor getMappedSuperclass(java.lang.String key)
key
- - theMetadata classpublic java.util.Map<java.lang.String,ClassDescriptor> getMappedSuperclassDescriptors()
public void addMetamodelIdClassMapEntry(java.lang.String ownerName, java.lang.String name)
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getMetamodelIdClassMap()
public java.util.Map<java.lang.String,PartitioningPolicy> getPartitioningPolicies()
public void setPartitioningPolicies(java.util.Map<java.lang.String,PartitioningPolicy> partitioningPolicies)
public void addPartitioningPolicy(PartitioningPolicy partitioningPolicy)
public PartitioningPolicy getPartitioningPolicy(java.lang.String name)