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 | 1x 1x 1x 1x 1x 1x 91x 91x 91x 91x 91x 1462x 1462x 91x 91x 113x 113x 91x 91x 56x 56x 56x 56x 91x 91x 385x 385x 91x 91x 46x 46x 91x 91x 46x 46x 91x 91x 27x 27x 27x 27x 27x 91x 91x 130x 130x 130x 130x 91x 91x 5x 5x 5x 91x 91x 71x 71x 71x 91x 91x 91x 91x 76x 52x 52x 24x 24x 24x 24x 24x 76x 18x 18x 6x 6x 76x 76x 6x 6x 6x 76x 91x 91x | 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 : "";
}
}
} |