package com.linkedin.restli.internal.tools;
import com.linkedin.restli.internal.server.model.ResourceModelEncoder;
import java.util.ArrayList;
import java.util.List;
import org.slf4j.Logger;
final public class AdditionalDocProvidersUtil
{
private AdditionalDocProvidersUtil()
{
}
public static List<ResourceModelEncoder.DocsProvider> findDocProviders(Logger log, boolean loadAdditionalDocProviders)
{
List<ResourceModelEncoder.DocsProvider> providers = new ArrayList<>();
if (loadAdditionalDocProviders)
{
try
{
providers.add(
(ResourceModelEncoder.DocsProvider) Class.forName("com.linkedin.restli.tools.scala.ScalaDocsProvider").newInstance());
}
catch (ClassNotFoundException | InstantiationException | IllegalAccessException ignored)
{
log.warn(
"Attempted to load ScalaDocsProvider but it was not found. Please add 'com.linkedin.pegasus:restli-tools-scala_<scala-version>:<pegasus-version>' to your classpath.");
}
catch (Throwable t)
{
log.info("Failed to initialize ScalaDocsProvider class", t);
}
}
return providers;
}
}