Top Description Fields Constructors Methods
org.eclipse.persistence.descriptors

public Class SingleTableMultitenantPolicy

extends Object
implements MultitenantPolicy
Class Inheritance
All Implemented Interfaces
org.eclipse.persistence.descriptors.MultitenantPolicy, java.io.Serializable
Known Direct Subclasses
org.eclipse.persistence.descriptors.VPDMultitenantPolicy
Imports
java.util.ArrayList, .HashMap, .List, .Map, org.eclipse.persistence.exceptions.DescriptorException, .ValidationException, org.eclipse.persistence.expressions.Expression, .ExpressionBuilder, org.eclipse.persistence.internal.helper.DatabaseField, org.eclipse.persistence.internal.sessions.AbstractRecord, .AbstractSession, org.eclipse.persistence.mappings.DatabaseMapping, org.eclipse.persistence.tools.schemaframework.TableDefinition

A single table "striped" multitenant policy.
Author
Guy Pelletier
Since
EclipseLink 2.3.1

Field Summary

Modifier and TypeField and Description
protected ClassDescriptor
protected boolean
protected Map<DatabaseField, String>
protected Map<String, List<DatabaseField>>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
addFieldsToRow(AbstractRecord row, AbstractSession session)

Implements org.eclipse.persistence.descriptors.MultitenantPolicy.addFieldsToRow.

INTERNAL: Add the tenant discriminator fields to the row.
public void
addTenantDiscriminatorField(String property, DatabaseField field)

INTERNAL: Add a tenant discriminator field to the policy.

public void
public MultitenantPolicy
public ClassDescriptor
getDescriptor()

INTERNAL:

public Map<DatabaseField, String>
public Map<String, List<DatabaseField>>
public boolean
hasTenantDiscriminatorFields()

INTERNAL: Return if this descriptor has specified some tenant discriminator fields.

public void
initialize(AbstractSession session)

Implements org.eclipse.persistence.descriptors.MultitenantPolicy.initialize.

INTERNAL: Initialize the mappings as a separate step.
public boolean
public boolean
public boolean
public void
postInitialize(AbstractSession session)

Implements org.eclipse.persistence.descriptors.MultitenantPolicy.postInitialize.

INTERNAL: Subclasses that need to add field to an expresison should override this method.
public void
preInitialize(AbstractSession session)

Implements org.eclipse.persistence.descriptors.MultitenantPolicy.preInitialize.

INTERNAL: Allow the descriptor to initialize any dependencies on this session.
public void
setDescriptor(ClassDescriptor descriptor)

INTERNAL:

public 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.

public void
setTenantDiscriminatorFields(Map<DatabaseField, String> tenantDiscriminatorFields)

INTERNAL:

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

descriptorback to summary
protected ClassDescriptor descriptor
includeTenantCriteriaback to summary
protected boolean includeTenantCriteria
tenantDiscriminatorFieldsback to summary
protected Map<DatabaseField, String> tenantDiscriminatorFields
tenantDiscriminatorFieldsKeyedOnContextback to summary
protected Map<String, List<DatabaseField>> tenantDiscriminatorFieldsKeyedOnContext

Constructor Detail

SingleTableMultitenantPolicyback to summary
public SingleTableMultitenantPolicy(ClassDescriptor desc)

Method Detail

addFieldsToRowback to summary
public void addFieldsToRow(AbstractRecord row, AbstractSession session)

Implements org.eclipse.persistence.descriptors.MultitenantPolicy.addFieldsToRow.

INTERNAL: Add the tenant discriminator fields to the row.

Annotations
@Override
addTenantDiscriminatorFieldback to summary
public void addTenantDiscriminatorField(String property, DatabaseField field)

INTERNAL: Add a tenant discriminator field to the policy.

addToTableDefinitionback to summary
public void addToTableDefinition(TableDefinition tableDefinition)

Implements org.eclipse.persistence.descriptors.MultitenantPolicy.addToTableDefinition.

INTERNAL:

Annotations
@Override
cloneback to summary
public MultitenantPolicy clone(ClassDescriptor descriptor)

Implements org.eclipse.persistence.descriptors.MultitenantPolicy.clone.

INTERNAL:

Annotations
@Override
getDescriptorback to summary
public ClassDescriptor getDescriptor()

INTERNAL:

getTenantDiscriminatorFieldsback to summary
public Map<DatabaseField, String> getTenantDiscriminatorFields()

INTERNAL:

getTenantDiscriminatorFieldsKeyedOnContextback to summary
public Map<String, List<DatabaseField>> getTenantDiscriminatorFieldsKeyedOnContext()

INTERNAL:

hasTenantDiscriminatorFieldsback to summary
public boolean hasTenantDiscriminatorFields()

INTERNAL: Return if this descriptor has specified some tenant discriminator fields.

initializeback to summary
public void initialize(AbstractSession session) throws DescriptorException

Implements org.eclipse.persistence.descriptors.MultitenantPolicy.initialize.

INTERNAL: Initialize the mappings as a separate step. This is done as a separate step to ensure that inheritance has been first resolved.

Annotations
@Override
isSchemaPerMultitenantPolicyback to summary
public boolean isSchemaPerMultitenantPolicy()

Implements org.eclipse.persistence.descriptors.MultitenantPolicy.isSchemaPerMultitenantPolicy.

INTERNAL:

Annotations
@Override
isSingleTableMultitenantPolicyback to summary
public boolean isSingleTableMultitenantPolicy()

Implements org.eclipse.persistence.descriptors.MultitenantPolicy.isSingleTableMultitenantPolicy.

INTERNAL:

Annotations
@Override
isTablePerMultitenantPolicyback to summary
public boolean isTablePerMultitenantPolicy()

Implements org.eclipse.persistence.descriptors.MultitenantPolicy.isTablePerMultitenantPolicy.

INTERNAL:

Annotations
@Override
postInitializeback to summary
public void postInitialize(AbstractSession session)

Implements org.eclipse.persistence.descriptors.MultitenantPolicy.postInitialize.

INTERNAL: Subclasses that need to add field to an expresison should override this method.

Annotations
@Override
preInitializeback to summary
public void preInitialize(AbstractSession session) throws DescriptorException

Implements org.eclipse.persistence.descriptors.MultitenantPolicy.preInitialize.

INTERNAL: Allow the descriptor to initialize any dependencies on this session.

Annotations
@Override
setDescriptorback to summary
public void setDescriptor(ClassDescriptor descriptor)

INTERNAL:

setIncludeTenantCriteriaback to summary
public 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. By default this is done but when set to false the queries will not be modified and it will be up to the application or database to ensure that the correct criteria is applied to all queries.

See Also
org.eclipse.persistence.annotations.Multitenant
setTenantDiscriminatorFieldsback to summary
public void setTenantDiscriminatorFields(Map<DatabaseField, String> tenantDiscriminatorFields)

INTERNAL: