// Path: library/src/main/java/com/wangjie/rapidrouter/core/RapidRouterMapping.java
// public abstract class RapidRouterMapping {
// 
//     protected HashMap<String, RouterTarget> getEnsureMap(HashMap<String, HashMap<String, RouterTarget>> routerMapper, String key) {
//         HashMap<String, RouterTarget> map = routerMapper.get(key);
//         if (null == map) {
//             map = new HashMap<>();
//             routerMapper.put(key, map);
//         }
//         return map;
//     }
// 
//     public abstract HashMap<String, HashMap<String, RouterTarget>> calcSimpleRouterMapper(HashMap<String, HashMap<String, RouterTarget>> routerMapper);
// 
//     public abstract HashMap<String, RouterTarget> calcRegRouterMapper(HashMap<String, RouterTarget> routerMapper);
// 
// }
// 
// Path: library/src/main/java/com/wangjie/rapidrouter/core/target/RouterTarget.java
// public class RouterTarget {
//     private Class targetClass;
//     private HashMap<String, Class> params;
// 
//     public RouterTarget(Class targetClass, HashMap<String, Class> params) {
//         this.targetClass = targetClass;
//         this.params = params;
//     }
// 
//     public Class getTargetClass() {
//         return targetClass;
//     }
// 
//     public void setTargetClass(Class targetClass) {
//         this.targetClass = targetClass;
//     }
// 
//     public HashMap<String, Class> getParams() {
//         return params;
//     }
// 
//     public void setParams(HashMap<String, Class> params) {
//         this.params = params;
//     }
// }


import android.net.Uri;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import com.wangjie.rapidrouter.core.RapidRouterMapping;
import com.wangjie.rapidrouter.core.target.RouterTarget;
import java.util.HashMap;
import java.util.Map;
package com.wangjie.rapidrouter.core.strategy;




/**
 * Author: wangjie Email: tiantian.china.2@gmail.com Date: 2/10/17.
 */
public class RapidRouterStrategyRegular extends RapidRouterAbstractStrategy {
    /**
     * HashMap<{uri reg}, {router target}>
     */
    private HashMap<String, RouterTarget> mapping;

    @Override
    public void onRapidRouterMappings(RapidRouterMapping[] rapidRouterMappings) {
        HashMap<String, RouterTarget> result = new HashMap<>();
// Path: library/src/main/java/com/wangjie/rapidrouter/core/RapidRouterMapping.java
// public abstract class RapidRouterMapping {
// 
//     protected HashMap<String, RouterTarget> getEnsureMap(HashMap<String, HashMap<String, RouterTarget>> routerMapper, String key) {
//         HashMap<String, RouterTarget> map = routerMapper.get(key);
//         if (null == map) {
//             map = new HashMap<>();
//             routerMapper.put(key, map);
//         }
//         return map;
//     }
// 
//     public abstract HashMap<String, HashMap<String, RouterTarget>> calcSimpleRouterMapper(HashMap<String, HashMap<String, RouterTarget>> routerMapper);
// 
//     public abstract HashMap<String, RouterTarget> calcRegRouterMapper(HashMap<String, RouterTarget> routerMapper);
// 
// }
// 
// Path: library/src/main/java/com/wangjie/rapidrouter/core/target/RouterTarget.java
// public class RouterTarget {
//     private Class targetClass;
//     private HashMap<String, Class> params;
// 
//     public RouterTarget(Class targetClass, HashMap<String, Class> params) {
//         this.targetClass = targetClass;
//         this.params = params;
//     }
// 
//     public Class getTargetClass() {
//         return targetClass;
//     }
// 
//     public void setTargetClass(Class targetClass) {
//         this.targetClass = targetClass;
//     }
// 
//     public HashMap<String, Class> getParams() {
//         return params;
//     }
// 
//     public void setParams(HashMap<String, Class> params) {
//         this.params = params;
//     }
// }


// Path: library/src/main/java/com/wangjie/rapidrouter/core/strategy/RapidRouterStrategyRegular.java
import android.net.Uri;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import com.wangjie.rapidrouter.core.RapidRouterMapping;
import com.wangjie.rapidrouter.core.target.RouterTarget;
import java.util.HashMap;
import java.util.Map;

package com.wangjie.rapidrouter.core.strategy;




/**
 * Author: wangjie Email: tiantian.china.2@gmail.com Date: 2/10/17.
 */
public class RapidRouterStrategyRegular extends RapidRouterAbstractStrategy {
    /**
     * HashMap<{uri reg}, {router target}>
     */
    private HashMap<String, RouterTarget> mapping;

    @Override
    public void onRapidRouterMappings(RapidRouterMapping[] rapidRouterMappings) {
        HashMap<String, RouterTarget> result = new HashMap<>();
        for (RapidRouterMapping mapping : rapidRouterMappings) {