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 105x 105x 105x 105x 105x 1595x 1595x 105x 105x 129x 129x 105x 105x 57x 57x 57x 57x 105x 105x 433x 433x 105x 105x 47x 47x 105x 105x 47x 47x 105x 105x 27x 27x 27x 27x 27x 105x 105x 145x 145x 145x 145x 105x 105x 5x 5x 5x 105x 105x 73x 73x 73x 105x 105x 105x 105x 78x 52x 52x 26x 26x 26x 26x 26x 78x 20x 20x 6x 78x 78x 78x 6x 6x 6x 78x 105x 105x | 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 : "";
}
}
}
|