@@ -0,0 +1,3076 @@
+/*%0A * Licensed to the Apache Software Foundation (ASF) under one%0A * or more contributor license agreements.  See the NOTICE file%0A * distributed with this work for additional information%0A * regarding copyright ownership.  The ASF licenses this file%0A * to you under the Apache License, Version 2.0 (the%0A * %22License%22); you may not use this file except in compliance%0A * with the License.  You may obtain a copy of the License at%0A *%0A *   http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing,%0A * software distributed under the License is distributed on an%0A * %22AS IS%22 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY%0A * KIND, either express or implied.  See the License for the%0A * specific language governing permissions and limitations%0A * under the License.%0A */%0A%0Apackage org.apache.parquet.format;%0A%0A/**%0A * Convenience instances of logical type classes.%0A */%0Apublic class LogicalTypes %7B%0A  public static class TimeUnits %7B%0A    public static final TimeUnit MILLIS = TimeUnit.MILLIS(new MilliSeconds());%0A    public static final TimeUnit MICROS = TimeUnit.MICROS(new MicroSeconds());%0A  %7D%0A%0A  public static LogicalType DECIMAL(int scale, int precision) %7B%0A    return LogicalType.DECIMAL(new DecimalType(scale, precision));%0A  %7D%0A%0A  public static final LogicalType UTF8 = LogicalType.STRING(new StringType());%0A  public static final LogicalType MAP  = LogicalType.MAP(new MapType());%0A  public static final LogicalType LIST = LogicalType.LIST(new ListType());%0A  public static final LogicalType ENUM = LogicalType.ENUM(new EnumType());%0A  public static final LogicalType DATE = LogicalType.DATE(new DateType());%0A  public static final LogicalType TIME_MILLIS = LogicalType.TIME(new TimeType(true, TimeUnits.MILLIS));%0A  public static final LogicalType TIME_MICROS = LogicalType.TIME(new TimeType(true, TimeUnits.MICROS));%0A  public static final LogicalType TIMESTAMP_MILLIS = LogicalType.TIMESTAMP(new TimestampType(true, TimeUnits.MILLIS));%0A  public static final LogicalType TIMESTAMP_MICROS = LogicalType.TIMESTAMP(new TimestampType(true, TimeUnits.MICROS));%0A  public static final LogicalType INT_8 = LogicalType.INTEGER(new IntType((byte) 8, true));%0A  public static final LogicalType INT_16 = LogicalType.INTEGER(new IntType((byte) 16, true));%0A  public static final LogicalType INT_32 = LogicalType.INTEGER(new IntType((byte) 32, true));%0A  public static final LogicalType INT_64 = LogicalType.INTEGER(new IntType((byte) 64, true));%0A  public static final LogicalType UINT_8 = LogicalType.INTEGER(new IntType((byte) 8, false));%0A  public static final LogicalType UINT_16 = LogicalType.INTEGER(new IntType((byte) 16, false));%0A  public static final LogicalType UINT_32 = LogicalType.INTEGER(new IntType((byte) 32, false));%0A  public static final LogicalType UINT_64 = LogicalType.INTEGER(new IntType((byte) 64, false));%0A  public static final LogicalType UNKNOWN = LogicalType.UNKNOWN(new NullType());%0A  public static final LogicalType JSON = LogicalType.JSON(new JsonType());%0A  public static final LogicalType BSON = LogicalType.BSON(new BsonType());%0A%7D%0A

Add LogicalType annotation.