All Downloads are FREE. Search and download functionalities are using the official Maven repository.

mil.nga.geopackage.user.UserCoreResult Maven / Gradle / Ivy

There is a newer version: 6.6.7
Show newest version
package mil.nga.geopackage.user;

import mil.nga.geopackage.db.Result;

/**
 * Abstract User Cursor
 * 
 * @param 
 *            column type
 * @param 
 *            table type
 * @param 
 *            row type
 * 
 * @author osbornb
 */
public interface UserCoreResult, TRow extends UserCoreRow>
		extends Result, Iterable {

	/**
	 * Get a row using the column types and values
	 * 
	 * @param columnTypes
	 *            column types
	 * @param values
	 *            values
	 * @return row
	 */
	public TRow getRow(int[] columnTypes, Object[] values);

	/**
	 * Get the value for the column
	 * 
	 * @param column
	 *            column
	 * @return value
	 */
	public Object getValue(TColumn column);

	/**
	 * Get the value for the column index
	 * 
	 * @param index
	 *            column index
	 * @return value
	 * @since 3.4.0
	 */
	public Object getValue(int index);

	/**
	 * Get the value for the column name
	 * 
	 * @param columnName
	 *            column name
	 * @return value
	 * @since 3.4.0
	 */
	public Object getValue(String columnName);

	/**
	 * Get the primary key value
	 * 
	 * @return value
	 * @since 3.4.0
	 */
	public long getId();

	/**
	 * Get the table
	 * 
	 * @return table
	 */
	public TTable getTable();

	/**
	 * Get the table name
	 * 
	 * @return table name
	 * @since 3.5.0
	 */
	public String getTableName();

	/**
	 * Get the columns
	 * 
	 * @return columns
	 * @since 3.5.0
	 */
	public UserColumns getColumns();

	/**
	 * Get the row at the current cursor position
	 * 
	 * @return row
	 */
	public TRow getRow();

	/**
	 * Get the count of results
	 * 
	 * @return count, -1 if not able to determine
	 */
	public int getCount();

	/**
	 * Get the SQL statement (if available)
	 * 
	 * @return SQL statement
	 * @since 6.2.0
	 */
	public String getSql();

	/**
	 * Get the SQL selection arguments (if available)
	 * 
	 * @return selection arguments
	 * @since 6.2.0
	 */
	public String[] getSelectionArgs();

	/**
	 * Iterable for iterating over result ids in place of rows
	 *
	 * @return iterable ids
	 * @since 6.2.1
	 */
	public Iterable ids();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy