package com.constellio.app.modules.es.model.connectors.smb;
import java.util.Arrays;
import java.util.List;
import org.joda.time.LocalDateTime;
import com.constellio.app.modules.es.connectors.smb.LastFetchedStatus;
import com.constellio.app.modules.es.model.connectors.ConnectorDocument;
import com.constellio.model.entities.records.Record;
import com.constellio.model.entities.schemas.MetadataSchemaTypes;
public class ConnectorSmbDocument extends ConnectorDocument<ConnectorSmbDocument> {
public static final String SCHEMA_TYPE = "connectorSmbDocument";
public static final String DEFAULT_SCHEMA = SCHEMA_TYPE + "_default";
public static final String CONNECTOR = ConnectorDocument.CONNECTOR;
public static final String CONNECTOR_TYPE = ConnectorDocument.CONNECTOR_TYPE;
public static final String LAST_MODIFIED = ConnectorDocument.LAST_MODIFIED;
public static final String URL = "url";
public static final String PARSED_CONTENT = "parsedContent";
public static final String PERMISSIONS_HASH = "permissionsHash";
public static final String LAST_FETCH_ATTEMPT = "lastFetchAttempt";
public static final String SIZE = "size";
public static final String PARENT = "parent";
public static final String LAST_FETCH_ATTEMPT_STATUS = "lastFetchAttemptStatus";
public static final String LANGUAGE = "language";
public static final String EXTENSION = "extension";
public static final String LAST_FETCH_ATTEMPT_DETAILS = "lastFetchAttemptDetails";
public static final String UNRETRIEVED_COUNT = "unretrievedCount";
public ConnectorSmbDocument(Record record, MetadataSchemaTypes types) {
super(record, types, SCHEMA_TYPE);
}
public ConnectorSmbDocument(Record record, MetadataSchemaTypes types, String typeRequirement) {
super(record, types, typeRequirement);
}
public ConnectorSmbDocument setURL(String url) {
set(URL, url);
return this;
}
public ConnectorSmbDocument setUrl(String url) {
set(URL, url);
return this;
}
public String getParent() {
return get(PARENT);
}
public ConnectorSmbDocument setParent(String parent) {
set(PARENT, parent);
return this;
}
public ConnectorSmbDocument setParent(Record parent) {
set(PARENT, parent);
return this;
}
public ConnectorSmbDocument setParent(ConnectorSmbFolder parent) {
set(PARENT, parent);
return this;
}
public String getParsedContent() {
return get(PARSED_CONTENT);
}
public ConnectorSmbDocument setParsedContent(String parsedContent) {
set(PARSED_CONTENT, parsedContent);
return this;
}
public double getSize() {
double size;
try {
size = get(SIZE);
} catch (Exception e) {
size = -3;
}
return size;
}
public ConnectorSmbDocument setSize(long size) {
set(SIZE, size);
return this;
}
public LocalDateTime getLastFetched() {
return get(LAST_FETCH_ATTEMPT);
}
public ConnectorSmbDocument setLastFetched(LocalDateTime dateTime) {
set(LAST_FETCH_ATTEMPT, dateTime);
return this;
}
public String getPermissionsHash() {
return get(PERMISSIONS_HASH);
}
public ConnectorSmbDocument setPermissionsHash(String permissionsHash) {
set(PERMISSIONS_HASH, permissionsHash);
return this;
}
public LastFetchedStatus getLastFetchAttemptStatus() {
return get(LAST_FETCH_ATTEMPT_STATUS);
}
public ConnectorSmbDocument setLastFetchAttemptStatus(LastFetchedStatus lastFetchedStatus) {
set(LAST_FETCH_ATTEMPT_STATUS, lastFetchedStatus);
return this;
}
public String getLastFetchAttemptDetails() {
return get(LAST_FETCH_ATTEMPT_DETAILS);
}
public ConnectorSmbDocument setLastFetchAttemptDetails(String lastFetchAttemptDetails) {
set(LAST_FETCH_ATTEMPT_DETAILS, lastFetchAttemptDetails);
return this;
}
public String getLanguage() {
return get(LANGUAGE);
}
public ConnectorSmbDocument setLanguage(String language) {
set(LANGUAGE, language);
return this;
}
public String getExtension() {
return get(EXTENSION);
}
public ConnectorSmbDocument setExtension(String extension) {
set(EXTENSION, extension);
return this;
}
public long getUnretrievedCount() {
double count = get(UNRETRIEVED_COUNT);
Double d = new Double(count);
return d.longValue();
}
public ConnectorSmbDocument setUnretrievedCount(long unretrievedCount) {
set(UNRETRIEVED_COUNT, unretrievedCount);
return this;
}
@Override
public List<String> getDefaultMetadata() {
return Arrays.asList(CONNECTOR, CONNECTOR_TYPE, URL);
}
}