Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | 1x 1x 1x 1x 1x 1x 97x 97x 97x 97x 97x 1531x 1531x 97x 97x 121x 121x 97x 97x 57x 57x 57x 57x 97x 97x 407x 407x 97x 97x 46x 46x 97x 97x 46x 46x 97x 97x 27x 27x 27x 27x 27x 97x 97x 137x 137x 137x 137x 97x 97x 5x 5x 5x 97x 97x 73x 73x 73x 97x 97x 97x 97x 78x 52x 52x 26x 26x 26x 26x 26x 78x 20x 20x 6x 78x 78x 78x 6x 6x 6x 78x 97x 97x | import {ABAPObject} from "./_abap_object";
import {IInterfaceDefinition} from "../abap/types/_interface_definition";
import {ABAPFile} from "../abap/abap_file";
import {InfoInterfaceDefinition} from "../abap/4_file_information/_abap_file_information";
import {Identifier} from "../abap/4_file_information/_identifier";
export class Interface extends ABAPObject {
private def: IInterfaceDefinition | undefined = undefined;
private parsedXML: {name?: string, description?: string} | undefined = undefined;
public getType(): string {
return "INTF";
}
public setDefinition(def: IInterfaceDefinition | undefined): void {
this.def = def;
}
public getSequencedFiles(): readonly ABAPFile[] {
const main = this.getMainABAPFile();
if (main === undefined) {
return [];
}
return [main];
}
public getDefinition(): IInterfaceDefinition | undefined {
return this.def;
}
public getInterface(): InfoInterfaceDefinition | undefined {
return this.getMainABAPFile()?.getInfo().getInterfaceDefinitionByName(this.getName());
}
public getIdentifier(): Identifier | undefined {
return this.getInterface()?.identifier;
}
public getAllowedNaming() {
return {
maxLength: 30,
allowNamespace: true,
};
}
public setDirty(): void {
this.def = undefined;
this.parsedXML = undefined;
super.setDirty();
}
public getNameFromXML(): string | undefined {
this.parseXML();
return this.parsedXML?.name;
}
public getDescription(): string | undefined {
this.parseXML();
return this.parsedXML?.description;
}
/////////////////////////
private parseXML() {
if (this.parsedXML !== undefined) {
return;
}
this.parsedXML = {};
const parsed = super.parseRaw2();
if (parsed === undefined
|| parsed?.abapGit?.["asx:abap"]?.["asx:values"] === undefined) {
return;
}
const vseo = parsed?.abapGit?.["asx:abap"]?.["asx:values"]?.VSEOINTERF;
if (vseo === undefined) {
this.parsedXML.description = "";
this.parsedXML.name = "";
} else {
this.parsedXML.description = vseo.DESCRIPT ? vseo.DESCRIPT : "";
this.parsedXML.name = vseo.CLSNAME ? vseo.CLSNAME : "";
}
}
}
|