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 93x 93x 93x 93x 93x 1562x 1562x 93x 93x 116x 116x 93x 93x 57x 57x 57x 57x 93x 93x 390x 390x 93x 93x 46x 46x 93x 93x 46x 46x 93x 93x 27x 27x 27x 27x 27x 93x 93x 133x 133x 133x 133x 93x 93x 5x 5x 5x 93x 93x 71x 71x 71x 93x 93x 93x 93x 76x 52x 52x 24x 24x 24x 24x 24x 76x 18x 18x 6x 6x 76x 76x 6x 6x 6x 76x 93x 93x | 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 : "";
}
}
} |