import { TranslatorGenerator } from '@lcap/nasl-translator'; type changeType = 'up' | 'down'; interface defaultCode { code?: string; executeCode?: boolean; } import type Entity from './Entity__'; import type Module from './Module__'; import type DataSource from './DataSource__'; import BaseNode from '../common/BaseNode'; import type TypeAnnotation from './TypeAnnotation__'; import type DatabaseTypeAnnotation from './DatabaseTypeAnnotation__'; import type DefaultValue from './DefaultValue__'; /** * 实体属性 */ export declare class EntityProperty extends BaseNode { /** 类名 */ static readonly ConceptName: string; /** * 是否为抽象类 * 抽象类不能产生 concept: string */ static isAbstract: boolean; /** 继承链 */ static readonly inheritanceChain: string[]; /** * 产品概念 */ readonly concept: 'EntityProperty'; /** * 实体属性名称 */ name: string; /** * 唯一标识 */ uuid: string; /** * 数据库列名 */ columnName: string; /** * 实体属性标题 */ label?: string; /** * 实体属性描述 */ description?: string; /** * 类型 */ typeAnnotation: TypeAnnotation; /** * 数据库存储类型 */ databaseTypeAnnotation?: DatabaseTypeAnnotation; /** * 是否必填 */ required?: boolean; /** * 默认值 */ defaultValue?: DefaultValue; /** * 当前属性是否为主键 */ primaryKey?: boolean; /** * 关联实体的命名空间 */ relationNamespace?: string; /** * 关联实体 */ relationEntity?: string; /** * 关联属性 */ relationProperty?: string; /** * 关联属性实体记录删除规则 */ deleteRule?: 'protect' | 'cascade'; /** * 显示方式 */ display: Record; /** * 验证规则 */ rules: Array; /** * 生成规则 */ generationRule: 'auto' | 'autoIncrement' | 'manual'; /** * 表示 Oracle 主键自增时的序列名称 */ sequence?: string; /** * @param source 需要合并的部分参数 */ constructor(source?: Partial); static from(source: any, parentNode?: any, parentKey?: string): EntityProperty; /** * 设置实体属性标题 */ setLabel(label: string): void; /** * 设置实体属性描述 */ setDescription(description: string): void; /** * 设置数据库存储类型 */ setDatabaseTypeAnnotation(databaseTypeAnnotation: DatabaseTypeAnnotation): void; /** * 设置是否必填 */ setRequired(required: boolean): void; /** * 设置当前属性是否为主键 */ setPrimaryKey(primaryKey: boolean): void; /** * 设置生成规则 */ setGenerationRule(generationRule: 'auto' | 'autoIncrement' | 'manual'): void; /** * 祖先 Entity */ get entity(): Entity; /** * 祖先 Module */ get module(): Module; /** * 祖先 DataSource */ get dataSource(): DataSource; getTokenKeyWithNamespace(): string; /** * 设置实体属性名称 */ setName(name: string): Promise; /** * 设置数据库列名 */ setColumnName(columnName: string): void; delete(): Promise; _effect(options?: { action?: 'delete'; oldName?: string; }): Promise; /** * 设置是否必填 */ setSequence(sequence: string): void; /** * 设置是否必填 */ setDisplay(display: { [name: string]: boolean; }): void; setDeleteRule(deleteRule: string): void; /** * 根据全局设置中的数据库命名规则,生成 属性列名 */ genFormatColumnName(): any; /** * 根据全局设置中的数据库命名规则,将 属性列名 重命名 * 此方法不会 update */ __formatColumnName(): void; /** * 根据全局设置中的数据库命名规则,将 属性列名 重命名 */ formatColumnName(): void; toEmbeddedTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): TranslatorGenerator; toNaturalTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string; toTextualNASL(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string; /** * 设置数据类型 * @param typeAnnotation 类型标注对象 */ setDataType(typeAnnotation: TypeAnnotation): void; /** * 设置数据类型 * @param typeAnnotation 类型唯一标识 */ setDataType(typeKey: string): void; static getDefaultOptions(): { typeAnnotation: { concept: string; typeKind: string; typeNamespace: string; typeName: string; }; }; /** * 关联属性 */ clearReference(): void; /** * 属性上移 */ moveUp(): void; /** * 属性下移 */ moveDown(): void; /** * 数组移动位置 */ changeSort(arr: any[], index: number, type: changeType): any[]; /** * 设置关联实体属性名称 */ setRelationProperty(relationProperty: string): void; /** * 设置关联实体实体名称 */ setRelationNamespace(relationNamespace: string): void; /** * 设置关联实体实体名称 */ setRelationEntity(relationEntity: string): void; /** * 设置验证规则 */ setRules(rules: Array): void; /** * 是否可编辑 * */ get readonly(): boolean; get databaseTypeInfo(): any; get dataBaseTypes(): any; get dataBaseTypeMap(): any; get defaultDataBaseType(): any; get currentDataBaseType(): any; get inferredDefaultDataBaseName(): any; get isViewProperty(): boolean; __showAdvanced: boolean; /** * 默认值toJS的结果 */ defaultCode: defaultCode; } export default EntityProperty; //# sourceMappingURL=EntityProperty__.d.ts.map