/*
* This file is part of JGrasstools (http://www.jgrasstools.org)
* (C) HydroloGIS - www.hydrologis.com
*
* JGrasstools is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.jgrasstools.gears.io.geopaparazzi.geopap4;
/**
* Enumerations containing the database fields.
*
* @author Andrea Antonello (www.hydrologis.com)
*/
public class TableDescriptions {
/**
* The metadata table name.
*/
public static final String TABLE_METADATA = "metadata";
/**
* The notes table name.
*/
public static final String TABLE_NOTES = "notes";
/**
* Image table name.
*/
public static final String TABLE_IMAGES = "images";
/**
* Image data table name.
*/
public static final String TABLE_IMAGE_DATA = "imagedata";
/**
* gpslog table name.
*/
public static final String TABLE_GPSLOGS = "gpslogs";
/**
* gpslog data table name.
*/
public static final String TABLE_GPSLOG_DATA = "gpslogsdata";
/**
* gpslog properties table name.
*/
public static final String TABLE_GPSLOG_PROPERTIES = "gpslogsproperties";
public static enum MetadataTableFields {
/**
* The field name for the keys.
*/
COLUMN_KEY("key", String.class),
/**
* The field name for the values.
*/
COLUMN_VALUE("value", String.class),
/**
* Project name/title key to use.
*/
KEY_NAME("name", String.class),
/**
* Description key to use.
*/
KEY_DESCRIPTION("description", String.class),
/**
* Notes key to use.
*/
KEY_NOTES("notes", String.class),
/**
* Creation timestamp key to use.
*/
KEY_CREATIONTS("creationts", Long.class),
/**
* Last available timestamp key to use.
*/
KEY_LASTTS("lastts", Long.class),
/**
* The user that created the project key to use.
*/
KEY_CREATIONUSER("creationuser", String.class),
/**
* The last user working on the project key to use.
*/
KEY_LASTUSER("lastuser", String.class);
private String fieldName;
private Class fieldClass;
MetadataTableFields(String fieldName, Class fieldClass) {
this.fieldName = fieldName;
this.fieldClass = fieldClass;
}
public String getFieldName() {
return fieldName;
}
public Class getFieldClass() {
return fieldClass;
}
}
public static enum NotesTableFields {
/**
* id of the note, Generated by the db.
*/
COLUMN_ID("_id", Long.class),
/**
* Longitude of the note in WGS84.
*/
COLUMN_LON("lon", Double.class),
/**
* Latitude of the note in WGS84.
*/
COLUMN_LAT("lat", Double.class),
/**
* Elevation of the note.
*/
COLUMN_ALTIM("altim", Double.class),
/**
* Timestamp of the note.
*/
COLUMN_TS("ts", Long.class),
/**
* Description of the note.
*/
COLUMN_DESCRIPTION("description", String.class),
/**
* Simple text of the note.
*/
COLUMN_TEXT("text", String.class),
/**
* Form data of the note.
*/
COLUMN_FORM("form", String.class),
/**
* Is dirty field (0 = false, 1 = true)
*/
COLUMN_ISDIRTY("isdirty", Integer.class),
/**
* Style of the note.
*/
COLUMN_STYLE("style", String.class);
private String fieldName;
private Class fieldClass;
NotesTableFields(String fieldName, Class fieldClass) {
this.fieldName = fieldName;
this.fieldClass = fieldClass;
}
public String getFieldName() {
return fieldName;
}
public Class getFieldClass() {
return fieldClass;
}
}
public static enum ImageTableFields {
/**
* id of the note, Generated by the db.
*/
COLUMN_ID("_id", Long.class),
/**
* Longitude of the note in WGS84.
*/
COLUMN_LON("lon", Double.class),
/**
* Latitude of the note in WGS84.
*/
COLUMN_LAT("lat", Double.class),
/**
* Elevation of the note.
*/
COLUMN_ALTIM("altim", Double.class),
/**
* Timestamp of the note.
*/
COLUMN_TS("ts", Long.class),
/**
* The azimuth of the picture.
*/
COLUMN_AZIM("azim", Double.class),
/**
* A name or text for the image.
*/
COLUMN_TEXT("text", String.class),
/**
* Is dirty field (0=false, 1=true)
*/
COLUMN_ISDIRTY("isdirty", Integer.class),
/**
* An optional note id, to which it is bound to.
*/
COLUMN_NOTE_ID("note_id", Long.class),
/**
* The id of the connected image data.
*/
COLUMN_IMAGEDATA_ID("imagedata_id", Long.class);
private String fieldName;
private Class fieldClass;
ImageTableFields(String fieldName, Class fieldClass) {
this.fieldName = fieldName;
this.fieldClass = fieldClass;
}
public String getFieldName() {
return fieldName;
}
public Class getFieldClass() {
return fieldClass;
}
}
public static enum ImageDataTableFields {
/**
* id of the note, Generated by the db.
*/
COLUMN_ID("_id", Long.class),
/**
* The image data.
*/
COLUMN_IMAGE("data", byte[].class),
/**
* The image thumbnail data.
*/
COLUMN_THUMBNAIL("thumbnail", byte[].class);
private String fieldName;
private Class fieldClass;
ImageDataTableFields(String fieldName, Class fieldClass) {
this.fieldName = fieldName;
this.fieldClass = fieldClass;
}
public String getFieldName() {
return fieldName;
}
public Class getFieldClass() {
return fieldClass;
}
}
public static enum GpsLogsTableFields {
/**
* id of the log, Generated by the db.
*/
COLUMN_ID("_id", Long.class),
/**
* the start UTC timestamp.
*/
COLUMN_LOG_STARTTS("startts", Long.class),
/**
* the end UTC timestamp.
*/
COLUMN_LOG_ENDTS("endts", Long.class),
/**
* The length of the track in meters, as last updated.
*/
COLUMN_LOG_LENGTHM("lengthm", Double.class),
/**
* Is dirty field (0=false, 1=true)
*/
COLUMN_LOG_ISDIRTY("isdirty", Integer.class),
/**
* the name of the log.
*/
COLUMN_LOG_TEXT("text", String.class);
private String fieldName;
private Class fieldClass;
GpsLogsTableFields(String fieldName, Class fieldClass) {
this.fieldName = fieldName;
this.fieldClass = fieldClass;
}
public String getFieldName() {
return fieldName;
}
public Class getFieldClass() {
return fieldClass;
}
}
public static enum GpsLogsDataTableFields {
/**
* id of the log, Generated by the db.
*/
COLUMN_ID("_id", Long.class),
/**
* the longitude of the point.
*/
COLUMN_DATA_LON("lon", Double.class),
/**
* the latitude of the point.
*/
COLUMN_DATA_LAT("lat", Double.class),
/**
* the elevation of the point.
*/
COLUMN_DATA_ALTIM("altim", Double.class),
/**
* the UTC timestamp
*/
COLUMN_DATA_TS("ts", Long.class),
/**
* the id of the parent gps log.
*/
COLUMN_LOGID("logid", Long.class);
private String fieldName;
private Class fieldClass;
GpsLogsDataTableFields(String fieldName, Class fieldClass) {
this.fieldName = fieldName;
this.fieldClass = fieldClass;
}
public String getFieldName() {
return fieldName;
}
public Class getFieldClass() {
return fieldClass;
}
}
public static enum GpsLogsPropertiesTableFields {
/**
* id of the log, Generated by the db.
*/
COLUMN_ID("_id", Long.class),
/**
* field for log visibility.
*/
COLUMN_PROPERTIES_VISIBLE("visible", Integer.class),
/**
* the lgo stroke width.
*/
COLUMN_PROPERTIES_WIDTH("width", Float.class),
/**
* the log stroke color.
*/
COLUMN_PROPERTIES_COLOR("color", String.class),
/**
* the id of the parent gps log.
*/
COLUMN_LOGID("logid", Long.class);
private String fieldName;
private Class fieldClass;
GpsLogsPropertiesTableFields(String fieldName, Class fieldClass) {
this.fieldName = fieldName;
this.fieldClass = fieldClass;
}
public String getFieldName() {
return fieldName;
}
public Class getFieldClass() {
return fieldClass;
}
}
}