1ad64014219ace91a0bdcf3c4afe24e4fb00f8ba
[e-mobility-charging-stations-simulator.git] / src / charging-station / ui-server / UIServerFactory.ts
1 import { AbstractUIServer } from './AbstractUIServer';
2 import { ApplicationProtocol } from '../../types/UIProtocol';
3 import Configuration from '../../utils/Configuration';
4 import { ServerOptions } from '../../types/ConfigurationData';
5 import UIWebSocketServer from './UIWebSocketServer';
6
7 export default class UIServerFactory {
8 private constructor() {
9 // This is intentional
10 }
11
12 public static getUIServerImplementation(
13 applicationProtocol: ApplicationProtocol,
14 options?: ServerOptions
15 ): AbstractUIServer | null {
16 switch (applicationProtocol) {
17 case ApplicationProtocol.WS:
18 return new UIWebSocketServer(options ?? Configuration.getUIServer().options);
19 default:
20 return null;
21 }
22 }
23 }