@ngageoint/geopackage
Version:
GeoPackage JavaScript Library
79 lines (78 loc) • 2.95 kB
TypeScript
/**
* mediaTable module.
* @module extension/relatedTables
*/
import { UserRelatedTable } from './userRelatedTable';
import { RelationType } from './relationType';
import { UserColumn } from '../../user/userColumn';
/**
* Media Requirements Class User-Defined Related Data Table
* @class
* @extends UserRelatedTable
* @param {string} tableName table name
* @param {module:user/userColumn~UserColumn[]} columns media columns
* @param {string[]} requiredColumns required column names
*/
export declare class MediaTable extends UserRelatedTable {
static readonly RELATION_TYPE: RelationType;
static readonly COLUMN_ID: string;
static readonly COLUMN_DATA: string;
static readonly COLUMN_CONTENT_TYPE: string;
readonly TABLE_TYPE: string;
constructor(tableName: string, columns?: UserColumn[], requiredColumns?: string[]);
get tableType(): string;
/**
* Get the data column
* @return {module:user/userColumn~UserColumn}
*/
get dataColumn(): UserColumn;
/**
* Get the content type column
* @return {module:user/userColumn~UserColumn}
*/
get contentTypeColumn(): UserColumn;
/**
* Create a media table with a minimum required columns followed by the additional columns
* @param {string} tableName name of the table
* @param {module:user/userColumn~UserColumn[]} [additionalColumns] additional columns
* @return {module:extension/relatedTables~MediaTable}
*/
static create(tableName: string, additionalColumns?: UserColumn[]): MediaTable;
/**
* Get the required columns
* @param {string} [idColumnName=id] id column name
* @return {string[]}
*/
static requiredColumns(idColumnName?: string): string[];
/**
* Get the number of required columns
* @return {Number}
*/
static numRequiredColumns(): number;
/**
* Create the required columns
* @param {Number} [startingIndex=0] starting index of the required columns
* @param {string} [idColumnName=id] id column name
* @return {module:user/userColumn~UserColumn[]}
*/
static createRequiredColumns(startingIndex?: number, idColumnName?: string): UserColumn[];
/**
* Create the primary key id column
* @param {Number} index index of the column
* @param {string} idColumnName name of the id column
* @return {module:user/userColumn~UserColumn}
*/
static createIdColumn(index: number, idColumnName: string): UserColumn;
/**
* Create the data column
* @param {Number} index index of the column
* @return {module:user/userColumn~UserColumn}
*/
static createDataColumn(index: number): UserColumn;
/**
* Create the content type column
* @param {Number} index index of the column
* @return {module:user/userColumn~UserColumn}
*/
static createContentTypeColumn(index: number): UserColumn;
}