package org.javers.repository.sql.finders; import org.javers.repository.sql.schema.TableNameProvider; import org.polyjdbc.core.query.SelectQuery; import static org.javers.repository.sql.schema.FixedSchemaFactory.GLOBAL_ID_TYPE_NAME; import static org.javers.repository.sql.schema.FixedSchemaFactory.GLOBAL_ID_FRAGMENT; /** * @author bartosz.walacik */ public class VoOwnerEntityFilter extends SnapshotFilter { private final String ownerTypeName; private final String fragment; VoOwnerEntityFilter(TableNameProvider tableNameProvider, String ownerTypeName, String fragment) { super(tableNameProvider); this.ownerTypeName = ownerTypeName; this.fragment = fragment; } @Override void addWhere(SelectQuery query) { query.where("o." + GLOBAL_ID_TYPE_NAME + " = :ownerTypeName").withArgument("ownerTypeName", ownerTypeName) .append(" AND g." + GLOBAL_ID_FRAGMENT + " = :fragment").withArgument("fragment", fragment); } }