UNPKG

@ngageoint/geopackage

Version:
75 lines (74 loc) 2.52 kB
import { GeoPackage } from '../geoPackage'; import { GeoPackageConnection } from '../db/geoPackageConnection'; import { Extension } from './extension'; import { ExtensionDao } from './extensionDao'; /** * Base Extension */ /** * Abstract base GeoPackage extension */ export declare abstract class BaseExtension { readonly geoPackage: GeoPackage; /** * Connection to the GeoPackage */ protected readonly connection: GeoPackageConnection; /** * ExtensionDao */ readonly extensionsDao: ExtensionDao; /** * Name of the extension */ extensionName: string; /** * Definition for the extension */ extensionDefinition: string; /** * extension table name */ tableName: string; /** * * @param geoPackage GeoPackage object */ constructor(geoPackage: GeoPackage); /** * Get the extension or create as needed * @param {String} extensionName extension name * @param {String} tableName table name * @param {String} columnName column name * @param {String} definition extension definition * @param {String} scopeType extension scope type * @return {Extension} */ getOrCreate(extensionName: string, tableName: string | null, columnName: string | null, definition: string, scopeType: string): Extension; /** * Get the extension for the name, table name and column name * @param {String} extensionName extension name * @param {String} tableName table name * @param {String} columnName column name * @return {Extension[]} */ getExtension(extensionName: string, tableName: string | null, columnName: string | null): Extension[]; /** * Determine if the GeoPackage has the extension * @param {String} extensionName extension name * @param {String} tableName table name * @param {String} columnName column name * @returns {Boolean} if the extension exists */ hasExtension(extensionName: string, tableName: string, columnName: string): boolean; hasExtensions(extensionName: string): boolean; /** * Create the extension * @param {string} extensionName * @param {string} tableName * @param {string} columnName * @param {string} definition * @param {string} scopeType */ createExtension(extensionName: string, tableName: string, columnName: string, definition: string, scopeType: string): number; }