// Path: h2hell-core/src/main/java/com/highway2urhell/domain/EntryPathData.java
// public class EntryPathData {
//     private String uri;
//     private String methodName;
//     private String className;
//     private String classNameNormalized;
//     private String signatureName;
//     private TypePath typePath = TypePath.UNKNOWN;
//     private Boolean audit = true;
//     private String httpMethod = "";
//     private List<EntryPathParam> listEntryPathData = new ArrayList<EntryPathParam>();
//     private Integer lineNumber;
// 
//     public Integer getLineNumber() {
// 		return lineNumber;
// 	}
// 
// 	public void setLineNumber(Integer lineNumber) {
// 		this.lineNumber = lineNumber;
// 	}
// 
// 	public Boolean getAudit() {
//         return audit;
//     }
// 
//     public void setAudit(Boolean audit) {
//         this.audit = audit;
//     }
// 
//     public String getUri() {
//         return uri;
//     }
// 
//     public void setUri(String uri) {
//         this.uri = uri;
//     }
// 
//     public String getMethodName() {
//         return methodName;
//     }
// 
//     public void setMethodName(String methodName) {
//         this.methodName = methodName;
//     }
// 
//     public String getClassName() {
//         return className;
//     }
// 
//     public void setClassName(String className) {
//         this.className = className;
//     }
// 
//     public String getClassNameNormalized() {
//         return classNameNormalized;
//     }
// 
//     public void setClassNameNormalized(String classNameNormalized) {
//         this.classNameNormalized = classNameNormalized;
//     }
// 
//     public String getSignatureName() {
//         return signatureName;
//     }
// 
//     public void setSignatureName(String signatureName) {
//         this.signatureName = signatureName;
//     }
// 
//     public TypePath getTypePath() {
//         return typePath;
//     }
// 
//     public void setTypePath(TypePath typePath) {
//         this.typePath = typePath;
//     }
// 
//     public String getHttpMethod() {
//         return httpMethod;
//     }
// 
//     public void setHttpMethod(String httpMethod) {
//         this.httpMethod = httpMethod;
//     }
// 
//     public List<EntryPathParam> getListEntryPathData() {
//         return listEntryPathData;
//     }
// 
//     public void setListEntryPathData(List<EntryPathParam> listEntryPathData) {
//         this.listEntryPathData = listEntryPathData;
//     }
// 
//     @Override
//     public String toString() {
//         return "EntryPathData [uri=" + uri + ", methodName=" + methodName
//                 + ", className=" + className + ", classNameNormalized="
//                 + classNameNormalized + ", signatureName=" + signatureName
//                 + ", typePath=" + typePath + ", httpMethod=" + httpMethod
//                 + "]";
//     }
// }
// 
// Path: h2hell-core/src/main/java/com/highway2urhell/domain/FrameworkInformations.java
// public class FrameworkInformations {
// 
//     private String frameworkName;
//     private String version = "UNKNOWN";
//     private String details;
//     private List<EntryPathData> listEntryPath = new ArrayList<EntryPathData>();
// 
//     public String getFrameworkName() {
//         return frameworkName;
//     }
// 
//     public void setFrameworkName(String frameworkName) {
//         this.frameworkName = frameworkName;
//     }
// 
//     public String getVersion() {
//         return version;
//     }
// 
//     public void setVersion(String version) {
//         this.version = version;
//     }
// 
//     public String getDetails() {
//         return details;
//     }
// 
//     public void setDetails(String details) {
//         this.details = details;
//     }
// 
//     public List<EntryPathData> getListEntryPath() {
//         return listEntryPath;
//     }
// 
//     public void setListEntryPath(List<EntryPathData> listEntryPath) {
//         this.listEntryPath = listEntryPath;
//     }
// 
//     public boolean hasEntryPaths() {
//         return !listEntryPath.isEmpty();
//     }
// 
//     @Override
//     public String toString() {
//         return "FrameworkInformations [frameworkName=" + frameworkName
//                 + ", version=" + version + ", details=" + details
//                 + ", listEntryPath=" + listEntryPath + "]";
//     }
// 
// }


import com.highway2urhell.domain.EntryPathData;
import com.highway2urhell.domain.FrameworkInformations;
import org.objectweb.asm.Type;
import java.lang.reflect.Method;
import java.util.List;
package com.highway2urhell.service;





public abstract class AbstractLeechService implements LeechService {

    private FrameworkInformations frameworkInformations = new FrameworkInformations();
    private boolean triggeredAtStartup = false;

    public AbstractLeechService(String frameworkName) {
        frameworkInformations.setFrameworkName(frameworkName);
    }

    public AbstractLeechService(String frameworkName, String version) {
        this(frameworkName);
        frameworkInformations.setVersion(version);
    }

    @Override
    public boolean isTriggeredAtStartup() {
        return triggeredAtStartup;
    }

    protected void setTriggerAtStartup(boolean triggeredAtStartup) {
        this.triggeredAtStartup = triggeredAtStartup;
    }

// Path: h2hell-core/src/main/java/com/highway2urhell/domain/EntryPathData.java
// public class EntryPathData {
//     private String uri;
//     private String methodName;
//     private String className;
//     private String classNameNormalized;
//     private String signatureName;
//     private TypePath typePath = TypePath.UNKNOWN;
//     private Boolean audit = true;
//     private String httpMethod = "";
//     private List<EntryPathParam> listEntryPathData = new ArrayList<EntryPathParam>();
//     private Integer lineNumber;
// 
//     public Integer getLineNumber() {
// 		return lineNumber;
// 	}
// 
// 	public void setLineNumber(Integer lineNumber) {
// 		this.lineNumber = lineNumber;
// 	}
// 
// 	public Boolean getAudit() {
//         return audit;
//     }
// 
//     public void setAudit(Boolean audit) {
//         this.audit = audit;
//     }
// 
//     public String getUri() {
//         return uri;
//     }
// 
//     public void setUri(String uri) {
//         this.uri = uri;
//     }
// 
//     public String getMethodName() {
//         return methodName;
//     }
// 
//     public void setMethodName(String methodName) {
//         this.methodName = methodName;
//     }
// 
//     public String getClassName() {
//         return className;
//     }
// 
//     public void setClassName(String className) {
//         this.className = className;
//     }
// 
//     public String getClassNameNormalized() {
//         return classNameNormalized;
//     }
// 
//     public void setClassNameNormalized(String classNameNormalized) {
//         this.classNameNormalized = classNameNormalized;
//     }
// 
//     public String getSignatureName() {
//         return signatureName;
//     }
// 
//     public void setSignatureName(String signatureName) {
//         this.signatureName = signatureName;
//     }
// 
//     public TypePath getTypePath() {
//         return typePath;
//     }
// 
//     public void setTypePath(TypePath typePath) {
//         this.typePath = typePath;
//     }
// 
//     public String getHttpMethod() {
//         return httpMethod;
//     }
// 
//     public void setHttpMethod(String httpMethod) {
//         this.httpMethod = httpMethod;
//     }
// 
//     public List<EntryPathParam> getListEntryPathData() {
//         return listEntryPathData;
//     }
// 
//     public void setListEntryPathData(List<EntryPathParam> listEntryPathData) {
//         this.listEntryPathData = listEntryPathData;
//     }
// 
//     @Override
//     public String toString() {
//         return "EntryPathData [uri=" + uri + ", methodName=" + methodName
//                 + ", className=" + className + ", classNameNormalized="
//                 + classNameNormalized + ", signatureName=" + signatureName
//                 + ", typePath=" + typePath + ", httpMethod=" + httpMethod
//                 + "]";
//     }
// }
// 
// Path: h2hell-core/src/main/java/com/highway2urhell/domain/FrameworkInformations.java
// public class FrameworkInformations {
// 
//     private String frameworkName;
//     private String version = "UNKNOWN";
//     private String details;
//     private List<EntryPathData> listEntryPath = new ArrayList<EntryPathData>();
// 
//     public String getFrameworkName() {
//         return frameworkName;
//     }
// 
//     public void setFrameworkName(String frameworkName) {
//         this.frameworkName = frameworkName;
//     }
// 
//     public String getVersion() {
//         return version;
//     }
// 
//     public void setVersion(String version) {
//         this.version = version;
//     }
// 
//     public String getDetails() {
//         return details;
//     }
// 
//     public void setDetails(String details) {
//         this.details = details;
//     }
// 
//     public List<EntryPathData> getListEntryPath() {
//         return listEntryPath;
//     }
// 
//     public void setListEntryPath(List<EntryPathData> listEntryPath) {
//         this.listEntryPath = listEntryPath;
//     }
// 
//     public boolean hasEntryPaths() {
//         return !listEntryPath.isEmpty();
//     }
// 
//     @Override
//     public String toString() {
//         return "FrameworkInformations [frameworkName=" + frameworkName
//                 + ", version=" + version + ", details=" + details
//                 + ", listEntryPath=" + listEntryPath + "]";
//     }
// 
// }


// Path: h2hell-core/src/main/java/com/highway2urhell/service/AbstractLeechService.java
import com.highway2urhell.domain.EntryPathData;
import com.highway2urhell.domain.FrameworkInformations;
import org.objectweb.asm.Type;
import java.lang.reflect.Method;
import java.util.List;

package com.highway2urhell.service;





public abstract class AbstractLeechService implements LeechService {

    private FrameworkInformations frameworkInformations = new FrameworkInformations();
    private boolean triggeredAtStartup = false;

    public AbstractLeechService(String frameworkName) {
        frameworkInformations.setFrameworkName(frameworkName);
    }

    public AbstractLeechService(String frameworkName, String version) {
        this(frameworkName);
        frameworkInformations.setVersion(version);
    }

    @Override
    public boolean isTriggeredAtStartup() {
        return triggeredAtStartup;
    }

    protected void setTriggerAtStartup(boolean triggeredAtStartup) {
        this.triggeredAtStartup = triggeredAtStartup;
    }

    public void receiveData(List<EntryPathData> incoming) {