@contiva/sap-integration-suite-client
Version:
SAP Cloud Platform Integration API Client
101 lines (100 loc) • 3.81 kB
TypeScript
/**
* 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[];
}