package uk.bl.monitrix.database.mongodb.model;
import org.bson.types.ObjectId;
import com.mongodb.DBObject;
import uk.bl.monitrix.database.mongodb.MongoProperties;
import uk.bl.monitrix.model.IngestedLog;
public class MongoIngestedLog implements IngestedLog {
private DBObject dbo;
public MongoIngestedLog(DBObject dbo) {
this.dbo = dbo;
}
/**
* Returns the MongoDB entity that's backing this object.
* @return the DBObject
*/
public DBObject getBackingDBO() {
return dbo;
}
@Override
public String getId() {
return ((ObjectId) dbo.get(MongoProperties.FIELD_INGEST_SCHEDULE_ID)).toString();
}
@Override
public String getPath() {
return (String) dbo.get(MongoProperties.FIELD_INGEST_SCHEDULE_PATH);
}
public void setPath(String path) {
dbo.put(MongoProperties.FIELD_INGEST_SCHEDULE_PATH, path);
}
@Override
public String getCrawlerId() {
return (String) dbo.get(MongoProperties.FIELD_INGEST_SCHEDULE_CRAWLER_ID);
}
public void setCrawlerId(String id) {
dbo.put(MongoProperties.FIELD_INGEST_SCHEDULE_CRAWLER_ID, id);
}
@Override
public long getIngestedLines() {
return (Long) dbo.get(MongoProperties.FIELD_INGEST_SCHEDULE_LINES);
}
public void setIngestedLines(long lines) {
dbo.put(MongoProperties.FIELD_INGEST_SCHEDULE_LINES, lines);
}
@Override
public boolean isMonitored() {
return (Boolean) dbo.get(MongoProperties.FIELD_INGEST_SCHEDULE_MONITORED);
}
public void setIsMonitored(boolean isMonitored) {
dbo.put(MongoProperties.FIELD_INGEST_SCHEDULE_MONITORED, isMonitored);
}
}