// Path: src/main/java/com/github/vbauer/herald/logger/LogFactory.java
// public interface LogFactory {
// 
//     /**
//      * Check if logger class is compatible with the log factory.
//      *
//      * @param loggerClass logger class
//      * @return true if compatible and false - otherwise
//      */
//     boolean isCompatible(Class<?> loggerClass);
// 
//     /**
//      * Create logger with the given name (as configuration parameter).
//      *
//      * @param name logger name
//      * @return logger instance
//      */
//     Object createLogger(String name);
// 
//     /**
//      * Create logger with the given class (as configuration parameter).
//      *
//      * @param clazz class
//      * @return logger instance
//      */
//     Object createLogger(Class<?> clazz);
// 
// }


import com.github.vbauer.herald.logger.LogFactory;
import java.util.Collection;
package com.github.vbauer.herald.injector;



/**
 * @author Vladislav Bauer
 */

public final class LogFactoryDetector {

    private LogFactoryDetector() {
        throw new UnsupportedOperationException();
    }


    public static boolean hasCompatible(final Collection<LogFactory> factories, final Class<?> loggerClass) {
        return findCompatible(factories, loggerClass) != null;
    }

// Path: src/main/java/com/github/vbauer/herald/logger/LogFactory.java
// public interface LogFactory {
// 
//     /**
//      * Check if logger class is compatible with the log factory.
//      *
//      * @param loggerClass logger class
//      * @return true if compatible and false - otherwise
//      */
//     boolean isCompatible(Class<?> loggerClass);
// 
//     /**
//      * Create logger with the given name (as configuration parameter).
//      *
//      * @param name logger name
//      * @return logger instance
//      */
//     Object createLogger(String name);
// 
//     /**
//      * Create logger with the given class (as configuration parameter).
//      *
//      * @param clazz class
//      * @return logger instance
//      */
//     Object createLogger(Class<?> clazz);
// 
// }


// Path: src/main/java/com/github/vbauer/herald/injector/LogFactoryDetector.java
import com.github.vbauer.herald.logger.LogFactory;
import java.util.Collection;

package com.github.vbauer.herald.injector;



/**
 * @author Vladislav Bauer
 */

public final class LogFactoryDetector {

    private LogFactoryDetector() {
        throw new UnsupportedOperationException();
    }


    public static boolean hasCompatible(final Collection<LogFactory> factories, final Class<?> loggerClass) {
        return findCompatible(factories, loggerClass) != null;
    }

    public static LogFactory findCompatible(final Collection<LogFactory> factories, final Class<?> loggerClass) {