// Path: glin/src/main/java/org/loader/glin/Context.java
// public class Context {
//     private Call<?> call;
//     private Result<?> result;
//     private RawResult rawResult;
// 
//     public Context() {}
// 
//     public Context(Call<?> call) {
//         this.call = call;
//     }
// 
//     public Call<?> getCall() {
//         return call;
//     }
// 
//     public void setCall(Call<?> call) {
//         this.call = call;
//     }
// 
//     public Result<?> getResult() {
//         return result;
//     }
// 
//     public void setResult(Result<?> result) {
//         this.result = result;
//     }
// 
//     public RawResult getRawResult() {
//         return rawResult;
//     }
// 
//     public void setRawResult(RawResult rawResult) {
//         this.rawResult = rawResult;
//     }
// }
// 
// Path: glin/src/main/java/org/loader/glin/helper/LogHelper.java
// public class LogHelper {
//     private boolean isDebugMode;
//     private LogPrinter mLogPrinter;
//     private StringBuilder mLogAppender;
// 
//     public static LogHelper get(boolean debug, LogPrinter logPrinter) {
//         LogHelper helper = new LogHelper(logPrinter);
//         helper.isDebugMode(debug);
//         return helper;
//     }
// 
//     private LogHelper(LogPrinter logPrinter) {
//         mLogPrinter = logPrinter;
//     }
// 
//     public void isDebugMode(boolean debug) {
//         isDebugMode = debug;
//     }
// 
//     public boolean isDebugMode() {
//         return isDebugMode;
//     }
// 
//     public StringBuilder getLogAppender() {
//         if (mLogAppender == null) {
//             mLogAppender = new StringBuilder();
//         }
//         return mLogAppender;
//     }
// 
//     public void print() {
//         if (!isDebugMode || mLogAppender == null || mLogAppender.length() == 0) { return;}
//         print(mLogAppender.toString());
//     }
// 
//     public void print(String content) {
//         if (!isDebugMode) { return;}
// 
//         mLogPrinter.print("Glin", "*******************--BEGIN--*******************");
//         mLogPrinter.print("Glin", content);
//         mLogPrinter.print("Glin", "********************--END--********************");
//     }
// 
//     public interface LogPrinter {
//         void print(String tag, String content);
//     }
// }


import org.loader.glin.Context;
import org.loader.glin.helper.LogHelper;
import java.io.File;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
package org.loader.glin.chan;



/**
 * Created by qibin on 2016/7/13.
 */

public class LogChanNode extends ChanNode implements Cloneable {

    private boolean isDebug;
    private LogHelper.LogPrinter mLogPrinter;

    public LogChanNode(boolean debug, LogHelper.LogPrinter printer) {
        isDebug = debug;
        mLogPrinter = printer;
    }

    @Override
// Path: glin/src/main/java/org/loader/glin/Context.java
// public class Context {
//     private Call<?> call;
//     private Result<?> result;
//     private RawResult rawResult;
// 
//     public Context() {}
// 
//     public Context(Call<?> call) {
//         this.call = call;
//     }
// 
//     public Call<?> getCall() {
//         return call;
//     }
// 
//     public void setCall(Call<?> call) {
//         this.call = call;
//     }
// 
//     public Result<?> getResult() {
//         return result;
//     }
// 
//     public void setResult(Result<?> result) {
//         this.result = result;
//     }
// 
//     public RawResult getRawResult() {
//         return rawResult;
//     }
// 
//     public void setRawResult(RawResult rawResult) {
//         this.rawResult = rawResult;
//     }
// }
// 
// Path: glin/src/main/java/org/loader/glin/helper/LogHelper.java
// public class LogHelper {
//     private boolean isDebugMode;
//     private LogPrinter mLogPrinter;
//     private StringBuilder mLogAppender;
// 
//     public static LogHelper get(boolean debug, LogPrinter logPrinter) {
//         LogHelper helper = new LogHelper(logPrinter);
//         helper.isDebugMode(debug);
//         return helper;
//     }
// 
//     private LogHelper(LogPrinter logPrinter) {
//         mLogPrinter = logPrinter;
//     }
// 
//     public void isDebugMode(boolean debug) {
//         isDebugMode = debug;
//     }
// 
//     public boolean isDebugMode() {
//         return isDebugMode;
//     }
// 
//     public StringBuilder getLogAppender() {
//         if (mLogAppender == null) {
//             mLogAppender = new StringBuilder();
//         }
//         return mLogAppender;
//     }
// 
//     public void print() {
//         if (!isDebugMode || mLogAppender == null || mLogAppender.length() == 0) { return;}
//         print(mLogAppender.toString());
//     }
// 
//     public void print(String content) {
//         if (!isDebugMode) { return;}
// 
//         mLogPrinter.print("Glin", "*******************--BEGIN--*******************");
//         mLogPrinter.print("Glin", content);
//         mLogPrinter.print("Glin", "********************--END--********************");
//     }
// 
//     public interface LogPrinter {
//         void print(String tag, String content);
//     }
// }


// Path: glin/src/main/java/org/loader/glin/chan/LogChanNode.java
import org.loader.glin.Context;
import org.loader.glin.helper.LogHelper;
import java.io.File;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

package org.loader.glin.chan;



/**
 * Created by qibin on 2016/7/13.
 */

public class LogChanNode extends ChanNode implements Cloneable {

    private boolean isDebug;
    private LogHelper.LogPrinter mLogPrinter;

    public LogChanNode(boolean debug, LogHelper.LogPrinter printer) {
        isDebug = debug;
        mLogPrinter = printer;
    }

    @Override
    public void run(Context ctx) {