public class SingleTableMultitenantPolicy extends java.lang.Object implements MultitenantPolicy
| Constructor and Description |
|---|
SingleTableMultitenantPolicy(ClassDescriptor desc) |
| Modifier and Type | Method and Description |
|---|---|
void |
addFieldsToRow(org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Add the tenant discriminator fields to the row.
|
void |
addTenantDiscriminatorField(java.lang.String property, org.eclipse.persistence.internal.helper.DatabaseField field)
INTERNAL: Add a tenant discriminator field to the policy.
|
void |
addToTableDefinition(TableDefinition tableDefinition)
INTERNAL:
|
MultitenantPolicy |
clone(ClassDescriptor descriptor)
INTERNAL:
|
ClassDescriptor |
getDescriptor()
INTERNAL:
|
java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,java.lang.String> |
getTenantDiscriminatorFields()
INTERNAL:
|
java.util.Map<java.lang.String,java.util.List<org.eclipse.persistence.internal.helper.DatabaseField>> |
getTenantDiscriminatorFieldsKeyedOnContext()
INTERNAL:
|
boolean |
hasTenantDiscriminatorFields()
INTERNAL: Return if this descriptor has specified some tenant discriminator fields.
|
void |
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Initialize the mappings as a separate step.
|
boolean |
isSingleTableMultitenantPolicy()
INTERNAL:
|
boolean |
isTablePerMultitenantPolicy()
INTERNAL:
|
void |
postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Subclasses that need to add field to an expresison should override this method.
|
void |
preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Allow the descriptor to initialize any dependencies on this session.
|
void |
setDescriptor(ClassDescriptor descriptor)
INTERNAL:
|
void |
setIncludeTenantCriteria(boolean includeTenantCriteria)
ADVANCED: Boolean used to indicate if the database requires the tenant criteria to be added to the SELECT, UPDATE, and DELETE queries.
|
void |
setTenantDiscriminatorFields(java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,java.lang.String> tenantDiscriminatorFields)
INTERNAL:
|
public SingleTableMultitenantPolicy(ClassDescriptor desc)
public void addFieldsToRow(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
addFieldsToRow in interface MultitenantPolicypublic void addToTableDefinition(TableDefinition tableDefinition)
addToTableDefinition in interface MultitenantPolicypublic MultitenantPolicy clone(ClassDescriptor descriptor)
clone in interface MultitenantPolicypublic ClassDescriptor getDescriptor()
public void addTenantDiscriminatorField(java.lang.String property,
org.eclipse.persistence.internal.helper.DatabaseField field)
public java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,java.lang.String> getTenantDiscriminatorFields()
public java.util.Map<java.lang.String,java.util.List<org.eclipse.persistence.internal.helper.DatabaseField>> getTenantDiscriminatorFieldsKeyedOnContext()
public boolean hasTenantDiscriminatorFields()
public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
initialize in interface MultitenantPolicyDescriptorExceptionpublic boolean isSingleTableMultitenantPolicy()
isSingleTableMultitenantPolicy in interface MultitenantPolicypublic boolean isTablePerMultitenantPolicy()
isTablePerMultitenantPolicy in interface MultitenantPolicypublic void postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
postInitialize in interface MultitenantPolicy
public void preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
preInitialize in interface MultitenantPolicyDescriptorExceptionpublic void setDescriptor(ClassDescriptor descriptor)
public void setIncludeTenantCriteria(boolean includeTenantCriteria)
Multitenantpublic void setTenantDiscriminatorFields(java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,java.lang.String> tenantDiscriminatorFields)