// 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/logger/impl/SimpleLogFactory.java
// public abstract class SimpleLogFactory implements LogFactory {
// 
//     private final String loggerClassName;
//     private final String loggerFactoryClassName;
//     private final String loggerFactoryMethod;
//     
//             
//     protected SimpleLogFactory(
//         final String loggerClassName,
//         final String loggerFactoryClassName, final String loggerFactoryMethod
//     ) {
//         this.loggerClassName = loggerClassName;
//         this.loggerFactoryClassName = loggerFactoryClassName;
//         this.loggerFactoryMethod = loggerFactoryMethod;
//     }
// 
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public boolean isCompatible(final Class<?> loggerClass) {
//         return ReflectionUtils.isAssignableFrom(loggerClassName, loggerClass);
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Object createLogger(final Class<?> clazz) {
//         return createLoggerObject(clazz);
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Object createLogger(final String name) {
//         return createLoggerObject(name);
//     }
// 
// 
//     private Object createLoggerObject(final Object id) {
//         return ReflectionUtils.invokeStatic(
//             loggerFactoryClassName,
//             loggerFactoryMethod,
//             id
//         );
//     }
// 
// }


import com.github.vbauer.herald.logger.LogFactory;
import com.github.vbauer.herald.logger.impl.SimpleLogFactory;
import com.github.vbauer.jackdaw.annotation.JService;
package com.github.vbauer.herald.logger.empty;


/**
 * @author Vladislav Bauer
 */

@SuppressWarnings("all")
@JService(LogFactory.class)
// 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/logger/impl/SimpleLogFactory.java
// public abstract class SimpleLogFactory implements LogFactory {
// 
//     private final String loggerClassName;
//     private final String loggerFactoryClassName;
//     private final String loggerFactoryMethod;
//     
//             
//     protected SimpleLogFactory(
//         final String loggerClassName,
//         final String loggerFactoryClassName, final String loggerFactoryMethod
//     ) {
//         this.loggerClassName = loggerClassName;
//         this.loggerFactoryClassName = loggerFactoryClassName;
//         this.loggerFactoryMethod = loggerFactoryMethod;
//     }
// 
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public boolean isCompatible(final Class<?> loggerClass) {
//         return ReflectionUtils.isAssignableFrom(loggerClassName, loggerClass);
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Object createLogger(final Class<?> clazz) {
//         return createLoggerObject(clazz);
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Object createLogger(final String name) {
//         return createLoggerObject(name);
//     }
// 
// 
//     private Object createLoggerObject(final Object id) {
//         return ReflectionUtils.invokeStatic(
//             loggerFactoryClassName,
//             loggerFactoryMethod,
//             id
//         );
//     }
// 
// }


// Path: src/test/java/com/github/vbauer/herald/logger/empty/NullLogFactory.java
import com.github.vbauer.herald.logger.LogFactory;
import com.github.vbauer.herald.logger.impl.SimpleLogFactory;
import com.github.vbauer.jackdaw.annotation.JService;

package com.github.vbauer.herald.logger.empty;


/**
 * @author Vladislav Bauer
 */

@SuppressWarnings("all")
@JService(LogFactory.class)
public class NullLogFactory extends SimpleLogFactory {