package de.solidsearch.manager.data;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class GeneralSettings implements Serializable
{
	private static final long serialVersionUID = 2638912222013997009L;

	@Id
	private long id;
	
	private int managerId = 0;
	
	private boolean harvestingPaused = false;
	
	private int maxCrawlingLimit =  25000;
	
	private int maxDatabaseUsageInMB = 5000;
	
	private int currentDatabaseUsageInMB = 0;
	
	private boolean deleteCrawlerProjectAfterSuccess = true;
	
	private int maxParallelRunningJobs = 1;
	
	private boolean pauseIntervalEnabled = false;
	
	private long pauseFromTimestamp = 0;
	
	private long pauseToTimestamp = 0;
	
	private short qwLocale = -1;
	
	private boolean autoRefresh = true;
	
	private boolean indiciesInitSuccessful = false;
	
	private long indexDocuments = 0;
	
	private long analyzedDocuments = 0;
	
	private long indexDomains = 0;
	
	private long knownDomains = 0;
	
	public long getId()
	{
		return id;
	}

	public void setId(long id)
	{
		this.id = id;
	}

	public int getManagerId()
	{
		return managerId;
	}

	public void setManagerId(int managerId)
	{
		this.managerId = managerId;
	}

	public boolean isHarvestingPaused()
	{
		return harvestingPaused;
	}

	public void setHarvestingPaused(boolean harvestingPaused)
	{
		this.harvestingPaused = harvestingPaused;
	}

	public int getMaxCrawlingLimit()
	{
		return maxCrawlingLimit;
	}

	public void setMaxCrawlingLimit(int maxCrawlingLimit)
	{
		this.maxCrawlingLimit = maxCrawlingLimit;
	}

	public int getMaxDatabaseUsageInMB()
	{
		return maxDatabaseUsageInMB;
	}

	public void setMaxDatabaseUsageInMB(int maxDatabaseUsageInMB)
	{
		this.maxDatabaseUsageInMB = maxDatabaseUsageInMB;
	}

	public int getCurrentDatabaseUsageInMB()
	{
		return currentDatabaseUsageInMB;
	}

	public void setCurrentDatabaseUsageInMB(int currentDatabaseUsageInMB)
	{
		this.currentDatabaseUsageInMB = currentDatabaseUsageInMB;
	}

	public boolean isDeleteCrawlerProjectAfterSuccess()
	{
		return deleteCrawlerProjectAfterSuccess;
	}

	public void setDeleteCrawlerProjectAfterSuccess(boolean deleteCrawlerProjectAfterSuccess)
	{
		this.deleteCrawlerProjectAfterSuccess = deleteCrawlerProjectAfterSuccess;
	}

	public int getMaxParallelRunningJobs()
	{
		return maxParallelRunningJobs;
	}

	public void setMaxParallelRunningJobs(int maxParallelRunningJobs)
	{
		this.maxParallelRunningJobs = maxParallelRunningJobs;
	}

	public boolean isPauseIntervalEnabled()
	{
		return pauseIntervalEnabled;
	}

	public void setPauseIntervalEnabled(boolean pauseIntervalEnabled)
	{
		this.pauseIntervalEnabled = pauseIntervalEnabled;
	}

	public long getPauseFromTimestamp()
	{
		return pauseFromTimestamp;
	}

	public void setPauseFromTimestamp(long pauseFromTimestamp)
	{
		this.pauseFromTimestamp = pauseFromTimestamp;
	}

	public long getPauseToTimestamp()
	{
		return pauseToTimestamp;
	}

	public void setPauseToTimestamp(long pauseToTimestamp)
	{
		this.pauseToTimestamp = pauseToTimestamp;
	}

	public short getQwLocale()
	{
		return qwLocale;
	}

	public void setQwLocale(short qwLocale)
	{
		this.qwLocale = qwLocale;
	}

	public boolean isAutoRefresh()
	{
		return autoRefresh;
	}

	public void setAutoRefresh(boolean autoRefresh)
	{
		this.autoRefresh = autoRefresh;
	}

	public boolean isIndiciesInitSuccessful()
	{
		return indiciesInitSuccessful;
	}

	public void setIndiciesInitSuccessful(boolean indiciesInitSuccessful)
	{
		this.indiciesInitSuccessful = indiciesInitSuccessful;
	}

	public long getIndexDocuments()
	{
		return indexDocuments;
	}

	public void setIndexDocuments(long indexDocuments)
	{
		this.indexDocuments = indexDocuments;
	}

	public long getAnalyzedDocuments()
	{
		return analyzedDocuments;
	}

	public void setAnalyzedDocuments(long analyzedDocuments)
	{
		this.analyzedDocuments = analyzedDocuments;
	}

	public long getIndexDomains()
	{
		return indexDomains;
	}

	public void setIndexDomains(long indexDomains)
	{
		this.indexDomains = indexDomains;
	}

	public long getKnownDomains()
	{
		return knownDomains;
	}

	public void setKnownDomains(long knownDomains)
	{
		this.knownDomains = knownDomains;
	}
}
