org.hibernate.envers.internal.reader.CrossTypeRevisionChangesReaderImpl Maven / Gradle / Ivy
/*
* 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 .
*/
package org.hibernate.envers.internal.reader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.hibernate.Session;
import org.hibernate.engine.spi.SessionImplementor;
import org.hibernate.envers.CrossTypeRevisionChangesReader;
import org.hibernate.envers.RevisionType;
import org.hibernate.envers.boot.internal.EnversService;
import org.hibernate.envers.internal.tools.EntityTools;
import org.hibernate.envers.query.criteria.internal.RevisionTypeAuditExpression;
import org.hibernate.envers.tools.Pair;
import org.hibernate.query.Query;
import static org.hibernate.envers.internal.tools.ArgumentsTools.checkNotNull;
import static org.hibernate.envers.internal.tools.ArgumentsTools.checkPositive;
/**
* @author Lukasz Antoniak (lukasz dot antoniak at gmail dot com)
*/
public class CrossTypeRevisionChangesReaderImpl implements CrossTypeRevisionChangesReader {
private final AuditReaderImplementor auditReaderImplementor;
private final EnversService enversService;
public CrossTypeRevisionChangesReaderImpl(
AuditReaderImplementor auditReaderImplementor,
EnversService enversService) {
this.auditReaderImplementor = auditReaderImplementor;
this.enversService = enversService;
}
@Override
@SuppressWarnings({"unchecked"})
public List