package proj.zoie.mbean;
import java.io.IOException;
import java.util.Date;
import proj.zoie.api.ZoieException;
public interface ZoieAdminMBean {
String getIndexDir();
boolean isRealtime();
long getBatchDelay();
void setBatchDelay(long delay);
int getBatchSize();
void setBatchSize(int batchSize);
Date getLastDiskIndexModifiedTime();
int getMaxBatchSize();
void setMaxBatchSize(int maxBatchSize);
void setMergeFactor(int mergeFactor);
int getMergeFactor();
int getRamAIndexSize();
String getRamAVersion();
int getRamBIndexSize();
String getRamBVersion();
String getDiskIndexerStatus();
String getCurrentDiskVersion() throws IOException;
void refreshDiskReader() throws IOException;
void flushToDiskIndex() throws ZoieException;
void flushToMemoryIndex() throws ZoieException;
int getMaxMergeDocs();
void setMaxMergeDocs(int maxMergeDocs);
void setNumLargeSegments(int numLargeSegments);
int getNumLargeSegments();
void setMaxSmallSegments(int maxSmallSegments);
public int getMaxSmallSegments();
long getDiskIndexSizeBytes();
long getDiskFreeSpaceBytes();
boolean isUseCompoundFile();
int getDiskIndexSegmentCount() throws IOException;
int getRAMASegmentCount();
int getRAMBSegmentCount();
/**
* @return the response time threshold for getIndexReaders
*/
long getSLA();
/**
* @param sla set the response time threshold (expected max response time) for getIndexReaders
*/
void setSLA(long sla);
/**
* @return heahth of the system. Non-zero value means the system need immediate attention and the logs need to be checked.
*/
long getHealth();
void resetHealth();
int getCurrentMemBatchSize();
int getCurrentDiskBatchSize();
}