UNPKG

@ngageoint/geopackage

Version:
72 lines (71 loc) 2.86 kB
/** * simpleAttributesTable module. * @module extension/relatedTables */ import { UserRelatedTable } from './userRelatedTable'; import { RelationType } from './relationType'; import { UserColumn } from '../../user/userColumn'; import { GeoPackageDataType } from '../../db/geoPackageDataType'; /** * Simple Attributes Requirements Class User-Defined Related Data Table * @class * @extends UserRelatedTable * @param {string} tableName table name * @param {module:user/userColumn~UserColumn[]} columns attribute columns * @param {string[]} requiredColumns required column names */ export declare class SimpleAttributesTable extends UserRelatedTable { static readonly RELATION_TYPE: RelationType; static readonly COLUMN_ID: string; readonly TABLE_TYPE: string; constructor(tableName: string, columns?: UserColumn[], requiredColumns?: string[]); /** * Validate that Simple Attributes columns to verify at least one non id * column exists and that all columns are simple data types */ validateColumns(): boolean; /** * Create a simple attributes table with the columns * @param {string} tableName name of the table * @param {module:user/userColumn~UserColumn[]} additionalColumns additional columns * @return {module:extension/relatedTables~SimpleAttributesTable} */ static create(tableName: string, additionalColumns?: UserColumn[]): SimpleAttributesTable; /** * 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; /** * Determine if the column is a simple column * @param {module:user/userColumn~UserColumn} column column to check * @return {Boolean} */ static isSimple(column: UserColumn): boolean; /** * Determine if the data type is a simple type: TEXT, INTEGER, or REAL * @param {module:db/geoPackageDataType~GPKGDataType} dataType * @return {Boolean} */ static isSimpleDataType(dataType: GeoPackageDataType): boolean; }