Object getObject()

in asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBRowStore.java [876:913]


    Object getObject(int columnIndex) throws SQLException {
        ADBDatatype valueType = getColumnType(columnIndex);
        switch (valueType) {
            case MISSING:
            case NULL:
                return null;
            case BOOLEAN:
                return getColumnRegisterAsBoolean(columnIndex, 0);
            case TINYINT:
            case SMALLINT:
            case INTEGER:
            case BIGINT:
            case FLOAT:
            case DOUBLE:
                return getNumberFromObjectStore(columnIndex);
            case DATE:
                return toDateFromDateChronon(getColumnRegister(columnIndex, 0), tzSystem);
            case TIME:
                return toTimeFromTimeChronon(getColumnRegister(columnIndex, 0), tzSystem);
            case DATETIME:
                return toTimestampFromDatetimeChronon(getColumnRegister(columnIndex, 0), tzSystem);
            case YEARMONTHDURATION:
                return getPeriodFromObjectStore(columnIndex);
            case DAYTIMEDURATION:
                return getDurationFromObjectStore(columnIndex);
            case DURATION:
                return getISODurationStringFromObjectStore(columnIndex);
            case STRING:
                return getStringFromObjectStore(columnIndex);
            case UUID:
                return getUUIDFromObjectStore(columnIndex);
            case OBJECT:
            case ARRAY:
                return objectStore[columnIndex]; // TODO:how to make immutable?
            default:
                throw getErrorReporter().errorUnexpectedType(valueType);
        }
    }