// Path: base/src/main/java/ru/bartwell/ultradebugger/base/BaseModule.java
// public abstract class BaseModule {
//     @NonNull
//     private Context mContext;
//     private String mModuleId;
// 
//     public BaseModule(@NonNull Context context, @NonNull String moduleId) {
//         mContext = context;
//         mModuleId = moduleId;
//     }
// 
//     @NonNull
//     public Context getContext() {
//         return mContext;
//     }
// 
//     @NonNull
//     protected String getModuleId() {
//         return mModuleId;
//     }
// 
//     @NonNull
//     protected String getString(@StringRes int stringResId) {
//         return mContext.getString(stringResId);
//     }
// 
//     @NonNull
//     public abstract String getName();
// 
//     @NonNull
//     public abstract String getDescription();
// 
//     @NonNull
//     public abstract HttpResponse handle(@NonNull HttpRequest request);
// }


import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import java.lang.reflect.Constructor;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import ru.bartwell.ultradebugger.base.BaseModule;
package ru.bartwell.ultradebugger;




/**
 * Created by BArtWell on 04.01.2017.
 */

class ModulesManager {
    private static final String MODULE_CLASS_NAME_FORMAT = "%1$s.module.%2$s.Module";

    @Nullable
    private static ModulesManager sInstance;
    @NonNull
// Path: base/src/main/java/ru/bartwell/ultradebugger/base/BaseModule.java
// public abstract class BaseModule {
//     @NonNull
//     private Context mContext;
//     private String mModuleId;
// 
//     public BaseModule(@NonNull Context context, @NonNull String moduleId) {
//         mContext = context;
//         mModuleId = moduleId;
//     }
// 
//     @NonNull
//     public Context getContext() {
//         return mContext;
//     }
// 
//     @NonNull
//     protected String getModuleId() {
//         return mModuleId;
//     }
// 
//     @NonNull
//     protected String getString(@StringRes int stringResId) {
//         return mContext.getString(stringResId);
//     }
// 
//     @NonNull
//     public abstract String getName();
// 
//     @NonNull
//     public abstract String getDescription();
// 
//     @NonNull
//     public abstract HttpResponse handle(@NonNull HttpRequest request);
// }


// Path: ultradebugger/src/main/java/ru/bartwell/ultradebugger/ModulesManager.java
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import java.lang.reflect.Constructor;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import ru.bartwell.ultradebugger.base.BaseModule;

package ru.bartwell.ultradebugger;




/**
 * Created by BArtWell on 04.01.2017.
 */

class ModulesManager {
    private static final String MODULE_CLASS_NAME_FORMAT = "%1$s.module.%2$s.Module";

    @Nullable
    private static ModulesManager sInstance;
    @NonNull
    private Map<String, BaseModule> mModules = new HashMap<>();