package com.zillabyte.motherbrain.universe; import java.io.Serializable; import org.eclipse.jdt.annotation.NonNullByDefault; import com.zillabyte.motherbrain.flow.operations.MockOperationLogger; import com.zillabyte.motherbrain.flow.operations.OperationLogger; @NonNullByDefault public abstract class LoggerFactory implements Serializable { /** * */ private static final long serialVersionUID = -4460044353443580460L; /*** * * @param flowId * @param procId * @return */ public abstract OperationLogger logger(String flowId, String procId, String authToken, String email); public OperationLogger logger(String flowId, String procId) { return logger(flowId, procId, "_no_authtoken_", "@"); } public static final class Local extends LoggerFactory { /** * */ static final long serialVersionUID = 8066041520236515796L; @Override public OperationLogger logger(final String flowId, String procId, String authToken, String email) { final OperationLogger.Local newLogger = new OperationLogger.Local(flowId, procId); return newLogger; } } public static final class Mock extends LoggerFactory { /** * */ private static final long serialVersionUID = 5717759393951929228L; @Override public OperationLogger logger(final String flowId, String procId, String authToken, String email) { return new MockOperationLogger(flowId, procId); } } }