UNPKG

@contiva/sap-integration-suite-client

Version:
101 lines (100 loc) 3.81 kB
/** * Registry für benutzerdefinierte Client-Erweiterungen * * Diese Datei bietet eine zentrale Registry für alle verfügbaren * benutzerdefinierten Client-Erweiterungen. Sie erleichtert das * dynamische Laden und Instanziieren von erweiterten Clients. * * @module sap-integration-suite-client/custom-registry */ import { BaseCustomClient, CustomClientFactory } from './base-custom-client'; import { IntegrationContentAdvancedClient } from './integration-content-advanced-client'; import { MessageProcessingLogsAdvancedClient } from './message-processing-logs-advanced-client'; import { IntegrationContentClient } from '../integration-content-client'; import { MessageProcessingLogsClient } from '../message-processing-logs-client'; /** * Typen von benutzerdefinierten Clients, die in der Registry registriert sind */ export declare enum CustomClientType { /** * Erweiterter Integration Content Client */ INTEGRATION_CONTENT_ADVANCED = "integration-content-advanced", /** * Erweiterter Message Processing Logs Client */ MESSAGE_PROCESSING_LOGS_ADVANCED = "message-processing-logs-advanced" } /** * Registry für benutzerdefinierte Client-Factories * * Diese Klasse verwaltet alle verfügbaren benutzerdefinierten Client-Erweiterungen * und ermöglicht den einheitlichen Zugriff darauf. */ export declare class CustomClientRegistry { /** * Singleton-Instanz der Registry */ private static instance; /** * Map der registrierten Factory-Instanzen */ private factories; /** * Privater Konstruktor für Singleton-Pattern */ private constructor(); /** * Gibt die Singleton-Instanz der Registry zurück * * @returns Die CustomClientRegistry-Instanz */ static getInstance(): CustomClientRegistry; /** * Registriert die Standard-Factories */ private registerDefaults; /** * Registriert eine benutzerdefinierte Client-Factory * * @param type - Der Typ des benutzerdefinierten Clients * @param factory - Die Factory für die Erstellung des Clients */ register<T, C extends BaseCustomClient<T>>(type: string, factory: CustomClientFactory<T, C>): void; /** * Erstellt einen benutzerdefinierten Client mit dem angegebenen Typ * * @param type - Der Typ des zu erstellenden benutzerdefinierten Clients * @param baseClient - Der zugrundeliegende Standard-Client * @returns Eine Instanz des benutzerdefinierten Clients * @throws Error, wenn kein passender Factory für den angegebenen Typ gefunden wurde */ create<T, C extends BaseCustomClient<T>>(type: string, baseClient: T): C; /** * Erstellt einen IntegrationContentAdvancedClient * * @param baseClient - Der zugrundeliegende IntegrationContentClient * @returns Eine Instanz des IntegrationContentAdvancedClient */ createIntegrationContentAdvancedClient(baseClient: IntegrationContentClient): IntegrationContentAdvancedClient; /** * Erstellt einen MessageProcessingLogsAdvancedClient * * @param baseClient - Der zugrundeliegende MessageProcessingLogsClient * @returns Eine Instanz des MessageProcessingLogsAdvancedClient */ createMessageProcessingLogsAdvancedClient(baseClient: MessageProcessingLogsClient): MessageProcessingLogsAdvancedClient; /** * Prüft, ob ein bestimmter benutzerdefinierter Client-Typ registriert ist * * @param type - Der zu prüfende Typ * @returns true, wenn der Typ registriert ist, sonst false */ isRegistered(type: string): boolean; /** * Gibt alle registrierten benutzerdefinierten Client-Typen zurück * * @returns Ein Array der registrierten Typen */ getRegisteredTypes(): string[]; }