initial import

This commit is contained in:
2026-05-28 21:17:51 +07:00
commit c347ceaf3a
97 changed files with 10497 additions and 0 deletions

View File

@ -0,0 +1,75 @@
package id.iptek.utms.agent.model;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Serializable;
import java.util.concurrent.atomic.AtomicInteger;
/**
*
* @author jakar
*/
public class FileReaderCacheObj implements Serializable {
private File file;
private BufferedReader reader;
private final AtomicInteger currentReadRowNum = new AtomicInteger(0);
public FileReaderCacheObj() {
}
/**
* @return the file
*/
public File getFile() {
return file;
}
/**
* @param file the file to set
*/
public void setFile(File file) {
this.file = file;
}
/**
* @return the reader
*/
public BufferedReader getReader() {
return reader;
}
/**
* @return the currentReadRowNum
*/
public AtomicInteger getCurrentReadRowNum() {
return currentReadRowNum;
}
public void pointToFile(File file) throws IOException {
if(file == null) {
throw new IllegalArgumentException("File cannot be null!");
}
if(!file.exists()) {
throw new IOException("File not exists!");
}
if(!file.canRead()) {
throw new IOException("File not readable!");
}
this.file = file;
this.reader = new BufferedReader(new FileReader(this.file));
this.currentReadRowNum.set(0);
}
public void closeReader() throws IOException {
if(this.reader != null) {
this.reader.close();
this.file = null;
this.currentReadRowNum.set(0);
} else {
// ignore null reader
}
}
}