// 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/strategy/RapidRouterStrategy.java
// public interface RapidRouterStrategy {
//     
//     void onRapidRouterMappings(RapidRouterMapping[] rapidRouterMappings);
// 
//     @Nullable
//     RouterTarget findRouterTarget(@NonNull Uri uri);
// 
// }


import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import com.wangjie.rapidrouter.core.RapidRouterMapping;
import com.wangjie.rapidrouter.core.strategy.RapidRouterStrategy;
package com.wangjie.rapidrouter.core.config;



/**
 * Author: wangjie Email: tiantian.china.2@gmail.com Date: 2/10/17.
 */
public interface RapidRouterConfiguration {
    /**
     * 配置路由策略
     */
    @NonNull
    RapidRouterStrategy[] configRapidRouterStrategies();

    /**
     * 配置路由映射
     */
    @Nullable
// 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/strategy/RapidRouterStrategy.java
// public interface RapidRouterStrategy {
//     
//     void onRapidRouterMappings(RapidRouterMapping[] rapidRouterMappings);
// 
//     @Nullable
//     RouterTarget findRouterTarget(@NonNull Uri uri);
// 
// }


// Path: library/src/main/java/com/wangjie/rapidrouter/core/config/RapidRouterConfiguration.java
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import com.wangjie.rapidrouter.core.RapidRouterMapping;
import com.wangjie.rapidrouter.core.strategy.RapidRouterStrategy;

package com.wangjie.rapidrouter.core.config;



/**
 * Author: wangjie Email: tiantian.china.2@gmail.com Date: 2/10/17.
 */
public interface RapidRouterConfiguration {
    /**
     * 配置路由策略
     */
    @NonNull
    RapidRouterStrategy[] configRapidRouterStrategies();

    /**
     * 配置路由映射
     */
    @Nullable
    RapidRouterMapping[] configRapidRouterMappings();