public class SingleTableMultitenantPolicy extends java.lang.Object implements MultitenantPolicy
| Constructor and Description |
|---|
SingleTableMultitenantPolicy(ClassDescriptor desc) |
| Modifier and Type | Method and Description |
|---|---|
void |
addFieldsToRow(AbstractRecord row,
AbstractSession session)
INTERNAL:
Add the tenant discriminator fields to the row.
|
void |
addTenantDiscriminatorField(java.lang.String property,
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<DatabaseField,java.lang.String> |
getTenantDiscriminatorFields()
INTERNAL:
|
java.util.Map<java.lang.String,java.util.List<DatabaseField>> |
getTenantDiscriminatorFieldsKeyedOnContext()
INTERNAL:
|
boolean |
hasTenantDiscriminatorFields()
INTERNAL:
Return if this descriptor has specified some tenant discriminator fields.
|
void |
initialize(AbstractSession session)
INTERNAL:
Initialize the mappings as a separate step.
|
boolean |
isSchemaPerMultitenantPolicy()
INTERNAL:
|
boolean |
isSingleTableMultitenantPolicy()
INTERNAL:
|
boolean |
isTablePerMultitenantPolicy()
INTERNAL:
|
void |
postInitialize(AbstractSession session)
INTERNAL:
Subclasses that need to add field to an expresison should override this method.
|
void |
preInitialize(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<DatabaseField,java.lang.String> tenantDiscriminatorFields)
INTERNAL:
|
public SingleTableMultitenantPolicy(ClassDescriptor desc)
public void addFieldsToRow(AbstractRecord row, 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,
DatabaseField field)
public java.util.Map<DatabaseField,java.lang.String> getTenantDiscriminatorFields()
public java.util.Map<java.lang.String,java.util.List<DatabaseField>> getTenantDiscriminatorFieldsKeyedOnContext()
public boolean hasTenantDiscriminatorFields()
public void initialize(AbstractSession session) throws DescriptorException
initialize in interface MultitenantPolicyDescriptorExceptionpublic boolean isSingleTableMultitenantPolicy()
isSingleTableMultitenantPolicy in interface MultitenantPolicypublic boolean isTablePerMultitenantPolicy()
isTablePerMultitenantPolicy in interface MultitenantPolicypublic boolean isSchemaPerMultitenantPolicy()
isSchemaPerMultitenantPolicy in interface MultitenantPolicypublic void postInitialize(AbstractSession session)
postInitialize in interface MultitenantPolicypublic void preInitialize(AbstractSession session) throws DescriptorException
preInitialize in interface MultitenantPolicyDescriptorExceptionpublic void setDescriptor(ClassDescriptor descriptor)
public void setIncludeTenantCriteria(boolean includeTenantCriteria)
Multitenantpublic void setTenantDiscriminatorFields(java.util.Map<DatabaseField,java.lang.String> tenantDiscriminatorFields)
EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference