25 lines
620 B
Java
25 lines
620 B
Java
package com.magamochi.ingestion.providers;
|
|
|
|
import java.util.Map;
|
|
import java.util.Objects;
|
|
import lombok.Getter;
|
|
import lombok.RequiredArgsConstructor;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
@Getter
|
|
@Component
|
|
@RequiredArgsConstructor
|
|
public class ContentProviderFactory {
|
|
private final Map<String, ContentProvider> contentProviders;
|
|
|
|
public ContentProvider getContentProvider(String providerName) {
|
|
var provider = contentProviders.get(providerName);
|
|
|
|
if (Objects.isNull(provider)) {
|
|
throw new IllegalArgumentException("No such provider " + providerName);
|
|
}
|
|
|
|
return provider;
|
|
}
|
|
}
|