// This software is released into the Public Domain. See copying.txt for details. package org.openstreetmap.osmosis.apidb.v0_6.impl; import java.util.ArrayList; import java.util.List; /** * Contains the parameters required to perform a single replication from the database. */ public class ReplicationQueryPredicates { private long bottomTransactionId; private long topTransactionId; private List<Long> readyList; private List<Long> activeList; /** * Creates a new instance. * * @param bottomTransactionId * The transaction id to begin querying from. This will be included in the query. * @param topTransactionId * The transaction id to stop querying at. This will not be included in the query. */ public ReplicationQueryPredicates(long bottomTransactionId, long topTransactionId) { this.bottomTransactionId = bottomTransactionId; this.topTransactionId = topTransactionId; readyList = new ArrayList<Long>(); activeList = new ArrayList<Long>(); } /** * Gets the transaction id to begin querying from. This will be included in the query. * * @return The transaction id. */ public long getBottomTransactionId() { return bottomTransactionId; } /** * Gets the transaction id to stop querying at. This will not be included in the query. * * @return The transaction id. */ public long getTopTransactionId() { return topTransactionId; } /** * Gets the transaction ready list. These will be included in the query in addition to those the ids * in the range defined by the bottom and top transaction id. * * @return The transaction id list. */ public List<Long> getReadyList() { return readyList; } /** * Gets the transaction active list. These will be excluded from the query results due to them * being active transactions at the point when the snapshot was taken. * * @return The transaction id list. */ public List<Long> getActiveList() { return activeList; } }