/**
 * Copyright (C) 2016 Hurence (support@hurence.com)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.hurence.logisland.record;


import java.util.Arrays;
import java.util.List;

public class FieldDictionary {

    public static String RECORD_ERRORS = "record_errors";
    public static String RECORD_TYPE = "record_type";
    public static String RECORD_ID = "record_id";
    public static String RECORD_TIME = "record_time";
    public static String RECORD_DAYTIME = "record_daytime";
    public static String RECORD_KEY = "record_key";
    public static String RECORD_VALUE = "record_value";
    public static String RECORD_NAME = "record_name";
    public static String PROCESSOR_NAME = "processor_name";
    public static String RECORD_POSITION = "record_position";
    public static String RECORD_BODY = "record_body";
    public static String RECORD_COUNT = "record_count";
    public static String RECORD_LAST_UPDATE_TIME = "record_last_update_time";


    public static String RECORD_POSITION_LATITUDE = "record_position_latitude";
    public static String RECORD_POSITION_LONGITUDE = "record_position_longitude";
    public static String RECORD_POSITION_ALTITUDE = "record_position_altitude";
    public static String RECORD_POSITION_HEADING = "record_position_heading";
    public static String RECORD_POSITION_PRECISION = "record_position_precision";
    public static String RECORD_POSITION_SATELLITES = "record_position_satellites";
    public static String RECORD_POSITION_SPEED = "record_position_speed";
    public static String RECORD_POSITION_STATUS = "record_position_status";
    public static String RECORD_POSITION_TIMESTAMP = "record_position_timestamp";

    public static Boolean contains(String fieldName) {
        return asList().contains(fieldName);
    }

    public static List<String> asList() {
        return Arrays.asList(
                RECORD_ERRORS,
                RECORD_TYPE,
                RECORD_ID,
                RECORD_TIME,
                RECORD_DAYTIME,
                RECORD_KEY,
                RECORD_VALUE,
                PROCESSOR_NAME,
                RECORD_POSITION,
                RECORD_BODY,
                RECORD_POSITION_LATITUDE,
                RECORD_POSITION_LONGITUDE,
                RECORD_POSITION_ALTITUDE,
                RECORD_POSITION_HEADING,
                RECORD_POSITION_PRECISION,
                RECORD_POSITION_SATELLITES,
                RECORD_POSITION_SPEED,
                RECORD_POSITION_STATUS,
                RECORD_POSITION_TIMESTAMP,
                RECORD_COUNT,
                RECORD_LAST_UPDATE_TIME
        );
    }
}

@@ -746,32 +746,38 @@
   public static 
+final 
 String RECORD_ER
@@ -810,32 +810,38 @@
   public static 
+final 
 String RECORD_TY
@@ -870,32 +870,38 @@
   public static 
+final 
 String RECORD_ID
@@ -926,32 +926,38 @@
   public static 
+final 
 String RECORD_TI
@@ -986,32 +986,38 @@
   public static 
+final 
 String RECORD_DA
@@ -1052,32 +1052,38 @@
   public static 
+final 
 String RECORD_KE
@@ -1110,32 +1110,38 @@
   public static 
+final 
 String RECORD_VA
@@ -1172,32 +1172,38 @@
   public static 
+final 
 String RECORD_NA
@@ -1236,24 +1236,30 @@
 blic static 
+final 
 String PROCE
@@ -1298,32 +1298,38 @@
   public static 
+final 
 String RECORD_PO
@@ -1366,32 +1366,38 @@
   public static 
+final 
 String RECORD_BO
@@ -1426,32 +1426,38 @@
   public static 
+final 
 String RECORD_CO
@@ -1488,32 +1488,38 @@
   public static 
+final 
 String RECORD_LA
@@ -1574,32 +1574,38 @@
   public static 
+final 
 String RECORD_PO
@@ -1660,32 +1660,38 @@
   public static 
+final 
 String RECORD_PO
@@ -1748,32 +1748,38 @@
   public static 
+final 
 String RECORD_PO
@@ -1834,32 +1834,38 @@
   public static 
+final 
 String RECORD_PO
@@ -1918,32 +1918,38 @@
   public static 
+final 
 String RECORD_PO
@@ -2006,32 +2006,38 @@
   public static 
+final 
 String RECORD_PO
@@ -2096,32 +2096,38 @@
   public static 
+final 
 String RECORD_PO
@@ -2176,32 +2176,38 @@
   public static 
+final 
 String RECORD_PO
@@ -2266,16 +2266,22 @@
  static 
+final 
 String R

Make FieldDictionary technical fields definition constants