/*
 * Copyright (C) 2017 Julien Viet
 *
 * 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 io.reactiverse.pgclient;

import io.reactiverse.pgclient.data.Box;
import io.reactiverse.pgclient.data.Circle;
import io.reactiverse.pgclient.data.Interval;
import io.reactiverse.pgclient.data.Json;
import io.reactiverse.pgclient.data.Line;
import io.reactiverse.pgclient.data.LineSegment;
import io.reactiverse.pgclient.data.Numeric;
import io.reactiverse.pgclient.data.Path;
import io.reactiverse.pgclient.data.Point;
import io.reactiverse.pgclient.data.Polygon;
import io.vertx.codegen.annotations.GenIgnore;
import io.vertx.codegen.annotations.VertxGen;
import io.vertx.core.buffer.Buffer;

import java.math.BigDecimal;
import java.time.*;
import java.time.temporal.Temporal;
import java.util.UUID;

@VertxGen
public interface Row extends Tuple {
  
Get a column name at pos.
Params:
  • pos – the position
Returns:the column name or null
/** * Get a column name at {@code pos}. * * @param pos the position * @return the column name or {@code null} */
String getColumnName(int pos);
Get a boolean value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get a boolean value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Boolean getBoolean(String name);
Get an object value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an object value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Object getValue(String name);
Get a short value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get a short value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Short getShort(String name);
Get an integer value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an integer value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Integer getInteger(String name);
Get a long value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get a long value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Long getLong(String name);
Get a float value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get a float value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Float getFloat(String name);
Get a double value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get a double value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Double getDouble(String name);
Get a string value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get a string value at {@code pos}. * * @param name the column * @return the value or {@code null} */
String getString(String name);
Get a json value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get a json value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Json getJson(String name);
Get a buffer value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get a buffer value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Buffer getBuffer(String name);
Get a temporal value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get a temporal value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Temporal getTemporal(String name);
Get LocalDate value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link java.time.LocalDate} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) LocalDate getLocalDate(String name);
Get LocalTime value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link java.time.LocalTime} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) LocalTime getLocalTime(String name);
Get LocalDateTime value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link java.time.LocalDateTime} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) LocalDateTime getLocalDateTime(String name);
Get OffsetTime value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link java.time.OffsetTime} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) OffsetTime getOffsetTime(String name);
Get OffsetDateTime value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link java.time.OffsetDateTime} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) OffsetDateTime getOffsetDateTime(String name);
Get UUID value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link java.util.UUID} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) UUID getUUID(String name);
Get BigDecimal value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link BigDecimal} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) BigDecimal getBigDecimal(String name);
Get Numeric value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link Numeric} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Numeric getNumeric(String name);
Get Point value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link Point} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Point getPoint(String name);
Get Line value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link Line} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Line getLine(String name);
Get LineSegment value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link LineSegment} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
LineSegment getLineSegment(String name);
Get Box value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link Box} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Box getBox(String name);
Get Path value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link Path} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Path getPath(String name);
Get Polygon value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link Polygon} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Polygon getPolygon(String name);
Get Circle value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link Circle} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Circle getCircle(String name);
Get Interval value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get {@link Interval} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
Interval getInterval(String name);
Get an array of Integer value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Integer} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Integer[] getIntegerArray(String name);
Get an array of Boolean value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Boolean} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Boolean[] getBooleanArray(String name);
Get an array of Short value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Short} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Short[] getShortArray(String name);
Get an array of Long value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Long} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Long[] getLongArray(String name);
Get an array of Float value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Float} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Float[] getFloatArray(String name);
Get an array of Double value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Double} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Double[] getDoubleArray(String name);
Get an array of String value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link String} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) String[] getStringArray(String name);
Get an array of LocalDate value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link LocalDate} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) LocalDate[] getLocalDateArray(String name);
Get an array of LocalTime value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link LocalTime} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) LocalTime[] getLocalTimeArray(String name);
Get an array of OffsetTime value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link OffsetTime} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) OffsetTime[] getOffsetTimeArray(String name);
Get an array of LocalDateTime value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link LocalDateTime} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) LocalDateTime[] getLocalDateTimeArray(String name);
Get an array of OffsetDateTime value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link OffsetDateTime} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) OffsetDateTime[] getOffsetDateTimeArray(String name);
Get an array of Buffer value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Buffer} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore Buffer[] getBufferArray(String name);
Get an array of UUID value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link UUID} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) UUID[] getUUIDArray(String name);
Get an array of Json value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Json} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore Json[] getJsonArray(String name);
Get an array of Numeric value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Numeric} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Numeric[] getNumericArray(String name);
Get an array of Point value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Point} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Point[] getPointArray(String name);
Get an array of Line value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Line} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Line[] getLineArray(String name);
Get an array of LineSegment value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link LineSegment} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) LineSegment[] getLineSegmentArray(String name);
Get an array of Box value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Box} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Box[] getBoxArray(String name);
Get an array of Path value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Path} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Path[] getPathArray(String name);
Get an array of Polygon value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Polygon} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Polygon[] getPolygonArray(String name);
Get an array of Circle value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Circle} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Circle[] getCircleArray(String name);
Get an array of Interval value at pos.
Params:
  • name – the column
Returns:the value or null
/** * Get an array of {@link Interval} value at {@code pos}. * * @param name the column * @return the value or {@code null} */
@GenIgnore(GenIgnore.PERMITTED_TYPE) Interval[] getIntervalArray(String name); }