/* * 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.envers.internal.entities.mapper.relation; import java.util.Comparator; import java.util.SortedMap; import org.hibernate.envers.boot.internal.EnversService; import org.hibernate.envers.internal.entities.mapper.relation.lazy.initializor.Initializor; import org.hibernate.envers.internal.entities.mapper.relation.lazy.initializor.SortedMapCollectionInitializor; import org.hibernate.envers.internal.reader.AuditReaderImplementor; /** * @author Michal Skowronek (mskowr at o2 dot pl) */ public final class SortedMapCollectionMapper extends MapCollectionMapper<SortedMap> { private final Comparator comparator; public SortedMapCollectionMapper( CommonCollectionMapperData commonCollectionMapperData, Class<? extends SortedMap> collectionClass, Class<? extends SortedMap> proxyClass, MiddleComponentData elementComponentData, MiddleComponentData indexComponentData, Comparator comparator, boolean revisionTypeInId) { super( commonCollectionMapperData, collectionClass, proxyClass, elementComponentData, indexComponentData, revisionTypeInId ); this.comparator = comparator; } @Override protected Initializor<SortedMap> getInitializor( EnversService enversService, AuditReaderImplementor versionsReader, Object primaryKey, Number revision, boolean removed) { return new SortedMapCollectionInitializor( enversService, versionsReader, commonCollectionMapperData.getQueryGenerator(), primaryKey, revision, removed, collectionClass, elementComponentData, indexComponentData, comparator ); } }