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 145x 145x 145x 145x 145x 1818x 1818x 145x 145x 173x 173x 145x 145x 65x 65x 65x 65x 145x 145x 650x 650x 145x 145x 47x 47x 145x 145x 47x 47x 145x 145x 27x 27x 27x 27x 27x 145x 145x 198x 198x 198x 198x 145x 145x 7x 7x 7x 145x 145x 77x 77x 77x 145x 145x 145x 145x 84x 56x 56x 28x 28x 28x 28x 28x 84x 20x 20x 8x 84x 84x 84x 8x 8x 8x 84x 145x 145x | 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 : "";
}
}
}
|