0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 package org.apache.spark.sql.catalyst.expressions;
0019
0020 import org.apache.spark.sql.catalyst.InternalRow;
0021 import org.apache.spark.sql.catalyst.util.ArrayData;
0022 import org.apache.spark.sql.types.DataType;
0023 import org.apache.spark.sql.types.Decimal;
0024 import org.apache.spark.sql.catalyst.util.MapData;
0025 import org.apache.spark.unsafe.types.CalendarInterval;
0026 import org.apache.spark.unsafe.types.UTF8String;
0027
0028 public interface SpecializedGetters {
0029
0030 boolean isNullAt(int ordinal);
0031
0032 boolean getBoolean(int ordinal);
0033
0034 byte getByte(int ordinal);
0035
0036 short getShort(int ordinal);
0037
0038 int getInt(int ordinal);
0039
0040 long getLong(int ordinal);
0041
0042 float getFloat(int ordinal);
0043
0044 double getDouble(int ordinal);
0045
0046 Decimal getDecimal(int ordinal, int precision, int scale);
0047
0048 UTF8String getUTF8String(int ordinal);
0049
0050 byte[] getBinary(int ordinal);
0051
0052 CalendarInterval getInterval(int ordinal);
0053
0054 InternalRow getStruct(int ordinal, int numFields);
0055
0056 ArrayData getArray(int ordinal);
0057
0058 MapData getMap(int ordinal);
0059
0060 Object get(int ordinal, DataType dataType);
0061 }