org.hibernate.context.spi.CurrentTenantIdentifierResolver.java Source code

Java tutorial

Introduction

Here is the source code for org.hibernate.context.spi.CurrentTenantIdentifierResolver.java

Source

/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * License: GNU Lesser General Public License (LGPL), version 2.1 or later.
 * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
 */
package org.hibernate.context.spi;

/**
 * A callback registered with the {@link org.hibernate.SessionFactory} that is responsible for resolving the
 * current tenant identifier for use with {@link CurrentSessionContext} and
 * {@link org.hibernate.SessionFactory#getCurrentSession()}
 *
 * @author Steve Ebersole
 */
public interface CurrentTenantIdentifierResolver {
    /**
     * Resolve the current tenant identifier.
     * 
     * @return The current tenant identifier
     */
    public String resolveCurrentTenantIdentifier();

    /**
     * Should we validate that the tenant identifier on "current sessions" that already exist when
     * {@link CurrentSessionContext#currentSession()} is called matches the value returned here from
     * {@link #resolveCurrentTenantIdentifier()}?
     * 
     * @return {@code true} indicates that the extra validation will be performed; {@code false} indicates it will not.
     *
     * @see org.hibernate.context.TenantIdentifierMismatchException
     */
    public boolean validateExistingCurrentSessions();
}