import URI from "../common/data/uri/URI"; import { HttpRequestMethod } from "../common/constant/ShortloopCommonConstant"; import ObservedApi from "../common/data/ObservedApi"; import ApiConfig from "../common/data/ApiConfig"; class ApiBufferKey { private uri: URI; private method: HttpRequestMethod; constructor(uri: URI, method: HttpRequestMethod) { this.uri = uri; this.method = method; } public static getApiBufferKeyFromObservedApi( observedApi: ObservedApi ): ApiBufferKey { return new ApiBufferKey(observedApi.getUri(), observedApi.getMethod()); } public static getApiBufferKeyFromApiConfig( apiConfig: ApiConfig ): ApiBufferKey { return new ApiBufferKey(apiConfig.getUri(), apiConfig.getMethod()); } public equals(object: Object): boolean { if (!object) { return false; } if (object instanceof ApiBufferKey) { let apiBufferKey: ApiBufferKey = object as ApiBufferKey; return ( this.uri.equals(apiBufferKey.uri) && this.method === apiBufferKey.method ); } return false; } //getters and setters public getUri(): URI { return this.uri; } public setUri(uri: URI): void { this.uri = uri; } public getMethod(): HttpRequestMethod { return this.method; } public setMethod(method: HttpRequestMethod): void { this.method = method; } } export default ApiBufferKey;