/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2009, 2015 Oracle and/or its affiliates. All rights reserved. * * $Id: LogVerifyConfig.java,v 0f73af5ae3da 2010/05/10 05:38:40 alexander $ */ package com.sleepycat.db; import com.sleepycat.db.internal.Db; import com.sleepycat.db.internal.DbConstants; import com.sleepycat.db.internal.DbEnv; import com.sleepycat.db.internal.DbTxn; import com.sleepycat.db.internal.DbUtil; import java.util.Date; /** Specify the attributes of a database. */ public class LogVerifyConfig implements Cloneable { private String envHome = null; private String dbFile = null, dbName = null; private LogSequenceNumber startLsn = null, endLsn = null; private Date startTime = null, endTime = null; private boolean continueAfterFail = true, verbose = false; private int cachesz = 0; public LogVerifyConfig() { } /** Return the home directory to use by the log verification internally. <p> @return Return the environment home directory path. */ public String getEnvHome() { return envHome; } /** Set the home directory to use by the log verification internally. <p> @param home The home directory of the internal database environment we use to store intermediate data during the verification process, can be null, meaning we will create the environment and all databases in memory, which can be overwhelming if the log takes up more space than available memory. <p> @throws IllegalArgumentException if home is an empty string. */ public void setEnvHome(String home) { if (home != null && home.equals("")) throw new IllegalArgumentException( "The environment home directory to verify is invalid."); envHome = home; } /** Return the internal database environment cache size. <p> @return Return the internal database environment cache size. */ public int getCacheSize() { return cachesz; } /** Set the internal database environment cache size. <p> @param cachesize The internal database environment cache size. */ public void setCacheSize(int cachesize) { cachesz = cachesize; } /** Return the database file name whose logs we will verify. <p> @return Return the database file name whose logs we will verify. */ public String getDbFile() { return dbFile; } /** Set the database file name whose logs we will verify. <p> @param file The database file name whose logs we will verify. */ public void setDbFile(String file) { dbFile = file; } /** Return the database name whose logs we will verify. <p> @return Return the database name whose logs we will verify. */ public String getDbName() { return dbName; } /** Set the database name whose logs we will verify. <p> @param name The database name whose logs we will verify. */ public void setDbName(String name) { dbName = name; } /** Return the starting lsn to verify. <p> @return The starting lsn to verify. */ public LogSequenceNumber getStartLsn() { return startLsn; } /** Set the starting lsn to verify. <p> @param stLsn The starting lsn to verify. */ public void setStartLsn(LogSequenceNumber stLsn) { startLsn = new LogSequenceNumber(stLsn.getFile(), stLsn.getOffset()); } /** Return the ending lsn to verify. <p> @return The ending lsn to verify. */ public LogSequenceNumber getEndLsn() { return endLsn; } /** Set the ending lsn to verify. <p> @param endlsn The ending lsn to verify. */ public void setEndLsn(LogSequenceNumber endlsn) { endLsn = new LogSequenceNumber(endlsn.getFile(), endlsn.getOffset()); } /** Return the starting time to verify. <p> @return The starting time to verify. */ public Date getStartTime() { return startTime; } /** Set the starting time to verify. <p> @param stime The starting time to verify. */ public void setStartTime(Date stime) { startTime = stime; } /** Return the ending time to verify. <p> @return The ending time to verify. */ public Date getEndTime() { return endTime; } /** Set the ending lsn to verify. <p> @param etime The ending time to verify. */ public void setEndTime(Date etime) { endTime = etime; } /** Return if continue after a failed check. <p> @return If continue after a failed check. */ public boolean getContinueAfterFail() { return continueAfterFail; } /** Set if continue after a failed check. <p> @param caf If continue after a failed check. */ public void setContinueAfterFail(boolean caf) { continueAfterFail = caf; } /** Return if print verbose information. <p> @return If print verbose information. */ public boolean getVerbose() { return verbose; } /** Set if print verbose information. <p> @param verbs If print verbose information. */ public void setVerbose(boolean verbs) { verbose = verbs; } }