// 
// Decompiled by Procyon v0.6.0
// 

package io.sentry;

import java.lang.reflect.InvocationTargetException;
import io.sentry.util.Platform;
import org.jetbrains.annotations.NotNull;
import io.sentry.util.LoadClass;
import org.jetbrains.annotations.ApiStatus;

@ApiStatus.Internal
public final class SpanFactoryFactory
{
    private static final String OTEL_SPAN_FACTORY = "io.sentry.opentelemetry.OtelSpanFactory";
    
    @NotNull
    public static ISpanFactory create(@NotNull final LoadClass loadClass, @NotNull final ILogger logger) {
        if (Platform.isJvm() && loadClass.isClassAvailable("io.sentry.opentelemetry.OtelSpanFactory", logger)) {
            final Class<?> otelSpanFactoryClazz = loadClass.loadClass("io.sentry.opentelemetry.OtelSpanFactory", logger);
            if (otelSpanFactoryClazz != null) {
                try {
                    final Object otelSpanFactory = otelSpanFactoryClazz.getDeclaredConstructor((Class<?>[])new Class[0]).newInstance(new Object[0]);
                    if (otelSpanFactory != null && otelSpanFactory instanceof ISpanFactory) {
                        return (ISpanFactory)otelSpanFactory;
                    }
                }
                catch (final InstantiationException ex) {}
                catch (final IllegalAccessException ex2) {}
                catch (final InvocationTargetException ex3) {}
                catch (final NoSuchMethodException ex4) {}
            }
        }
        return new DefaultSpanFactory();
    }
}
