From d7068d68b599a93bd118e18ad60fe462b38a6595 Mon Sep 17 00:00:00 2001
From: wjt983049539
Date: Mon, 5 Jul 2021 18:59:29 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9readme?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index b159cc2..3b240bc 100644
--- a/README.md
+++ b/README.md
@@ -38,8 +38,8 @@
2.在entry模块的build.gradle文件中,
```
dependencies {
- implementation 'com.gitee.chinasoft_ohos:router_api:0.0.1-SNAPSHOT'
- annotationProcessor 'com.gitee.chinasoft_ohos:router_compiler:0.0.1-SNAPSHOT'
+ implementation 'com.gitee.chinasoft_ohos:router_api:0.0.2-SNAPSHOT'
+ annotationProcessor 'com.gitee.chinasoft_ohos:router_compiler:0.0.2-SNAPSHOT'
......
}
```
--
Gitee
From 504b523e8d6715fb20011610ed5fc35d6519b171 Mon Sep 17 00:00:00 2001
From: wjt983049539
Date: Mon, 5 Jul 2021 19:18:03 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9readme?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 3b240bc..dbfe697 100644
--- a/README.md
+++ b/README.md
@@ -44,7 +44,7 @@
}
```
-在sdk5,DevEco Studio2.1 Release下项目可直接运行
+在sdk6,DevEco Studio2.2 Beta1下项目可直接运行
如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件,
并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下
--
Gitee
From 9265fd723e1539d10e9d9431b24f108505b239eb Mon Sep 17 00:00:00 2001
From: wjt983049539
Date: Tue, 6 Jul 2021 14:59:00 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9findbugs=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../nonview/router/anno/ActionLauncher.java | 11 ++-
.../nonview/router/anno/ActivityLauncher.java | 9 ++-
.../java/com/lzh/nonview/router/Router.java | 2 +-
.../ActivityResultCallback.java | 5 +-
.../ActivityResultDispatcher.java | 67 ++++++++++++++----
.../router/launcher/ActivityLauncher.java | 17 +++--
.../router/module/ActionRouteRule.java | 24 ++++++-
.../router/module/ActivityRouteRule.java | 15 +++-
.../lzh/nonview/router/module/RouteRule.java | 3 +
.../router/protocol/HostServiceWrapper.java | 18 +++--
.../lzh/nonview/router/route/ActionRoute.java | 4 +-
.../nonview/router/route/ActionSupport.java | 2 +
.../nonview/router/route/ActivityRoute.java | 5 +-
.../lzh/nonview/router/route/BaseRoute.java | 18 ++++-
.../nonview/router/route/BrowserRoute.java | 25 ++++---
.../nonview/router/route/IActivityRoute.java | 2 -
.../com/lzh/nonview/router/tools/Cache.java | 68 +++++++++++++++----
.../lzh/nonview/router/tools/CacheBundle.java | 23 +++++--
.../lzh/nonview/router/tools/CacheStore.java | 14 +++-
.../com/lzh/nonview/router/tools/Utils.java | 8 ++-
.../lzh/nonview/router/compiler/Compiler.java | 31 +++++----
.../nonview/router/compiler/Constants.java | 10 +++
.../router/compiler/factory/RuleFactory.java | 1 -
.../compiler/model/BasicConfigurations.java | 10 +++
.../nonview/router/compiler/model/Parser.java | 8 ++-
.../compiler/model/RouteRuleConfig.java | 15 ++--
26 files changed, 323 insertions(+), 92 deletions(-)
diff --git a/router_anno/src/main/java/com/lzh/nonview/router/anno/ActionLauncher.java b/router_anno/src/main/java/com/lzh/nonview/router/anno/ActionLauncher.java
index 74a83a1..5dcdae3 100644
--- a/router_anno/src/main/java/com/lzh/nonview/router/anno/ActionLauncher.java
+++ b/router_anno/src/main/java/com/lzh/nonview/router/anno/ActionLauncher.java
@@ -4,12 +4,19 @@ import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-
/**
- * @author wjt
+ * ActionLauncher
+ *
+ * @author:wjt
+ * @since 2021-04-06
*/
@Retention(RetentionPolicy.CLASS)
@Target({ElementType.TYPE})
public @interface ActionLauncher {
+ /**
+ * value
+ *
+ * @return Class
+ */
Class value();
}
diff --git a/router_anno/src/main/java/com/lzh/nonview/router/anno/ActivityLauncher.java b/router_anno/src/main/java/com/lzh/nonview/router/anno/ActivityLauncher.java
index 5bb2ede..0eff586 100644
--- a/router_anno/src/main/java/com/lzh/nonview/router/anno/ActivityLauncher.java
+++ b/router_anno/src/main/java/com/lzh/nonview/router/anno/ActivityLauncher.java
@@ -6,10 +6,17 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
- * @author wjt
+ * ActivityLauncher
+ *
+ * @since 2021-04-06
*/
@Retention(RetentionPolicy.CLASS)
@Target({ElementType.TYPE})
public @interface ActivityLauncher {
+ /**
+ * value
+ *
+ * @return Class
+ */
Class value();
}
diff --git a/router_api/src/main/java/com/lzh/nonview/router/Router.java b/router_api/src/main/java/com/lzh/nonview/router/Router.java
index f6b9f03..2b91fef 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/Router.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/Router.java
@@ -58,7 +58,7 @@ public final class Router{
* haoge://page/intent/printer?title=动态登录检查&requestLogin=1
*/
public static final String RAW_URI = "_ROUTER_RAW_URI_KEY_";
- public static boolean DEBUG = false;
+ public static final boolean DEBUG = false;
private Uri uri;
private String url;
diff --git a/router_api/src/main/java/com/lzh/nonview/router/activityresult/ActivityResultCallback.java b/router_api/src/main/java/com/lzh/nonview/router/activityresult/ActivityResultCallback.java
index 1c01422..b19f495 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/activityresult/ActivityResultCallback.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/activityresult/ActivityResultCallback.java
@@ -4,11 +4,14 @@ package com.lzh.nonview.router.activityresult;
import ohos.aafwk.content.Intent;
/**
- * @author wjt
+ * ActivityResultCallback
+ *
+ * @since 2021-04-06
*/
public interface ActivityResultCallback {
/**
* 回调结果
+ *
* @param resultCode 返回码
* @param data 数据
*/
diff --git a/router_api/src/main/java/com/lzh/nonview/router/activityresult/ActivityResultDispatcher.java b/router_api/src/main/java/com/lzh/nonview/router/activityresult/ActivityResultDispatcher.java
index a618ad2..a7849ef 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/activityresult/ActivityResultDispatcher.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/activityresult/ActivityResultDispatcher.java
@@ -10,21 +10,38 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.Set;
/**
- * @author wjt
+ * ActivityResultDispatcher
+ *
+ * @since 2021-04-06
*/
public final class ActivityResultDispatcher {
-
+ private static ActivityResultDispatcher dispatcher = new ActivityResultDispatcher();
private Map> container = new HashMap<>();
- private static ActivityResultDispatcher dispatcher = new ActivityResultDispatcher();
- private ActivityResultDispatcher(){ }
+ /**
+ * 构造
+ */
+ private ActivityResultDispatcher() {
+ }
+
+ /**
+ * get
+ *
+ * @return ActivityResultDispatcher
+ */
public static ActivityResultDispatcher get() {
return dispatcher;
}
+ /**
+ * bindRequestArgs
+ *
+ * @param activity
+ * @param requestCode
+ * @param callback
+ */
public void bindRequestArgs(Ability activity, int requestCode, ActivityResultCallback callback) {
if (!Utils.isValid(activity)
|| callback == null
@@ -36,6 +53,15 @@ public final class ActivityResultDispatcher {
list.add(new RequestArgs(requestCode, callback));
}
+ /**
+ * dispatchActivityResult
+ *
+ * @param activity
+ * @param requestCode
+ * @param resultCode
+ * @param data
+ * @return boolean
+ */
public boolean dispatchActivityResult(Ability activity, int requestCode, int resultCode, Intent data) {
if (!container.containsKey(activity)) {
return false;
@@ -43,7 +69,7 @@ public final class ActivityResultDispatcher {
boolean handle = false;
List list = findListByKey(activity);
- for (RequestArgs args:list) {
+ for (RequestArgs args : list) {
if (args.requestCode == requestCode) {
args.callback.onResult(resultCode, data);
list.remove(args);
@@ -58,17 +84,23 @@ public final class ActivityResultDispatcher {
// 移除无效的条目:比如当前activity在后台时被回收了
private void releaseInvalidItems() {
- Set keys = container.keySet();
- Iterator iterator = keys.iterator();
- while (iterator.hasNext()) {
- Ability next = iterator.next();
- if (!Utils.isValid(next)
+ Iterator>> iterator1 = container.entrySet().iterator();
+ while (iterator1.hasNext()) {
+ Map.Entry> next = iterator1.next();
+ Ability nextAbility = next.getKey();
+ if (!Utils.isValid(nextAbility)
|| container.get(next).isEmpty()) {
- iterator.remove();
+ iterator1.remove();
}
}
}
+ /**
+ * findListByKey
+ *
+ * @param activity
+ * @return List
+ */
private List findListByKey(Ability activity) {
List list = container.get(activity);
if (list == null) {
@@ -78,10 +110,21 @@ public final class ActivityResultDispatcher {
return list;
}
+ /**
+ * 主页面
+ *
+ * @since 2021-04-06
+ */
private static class RequestArgs {
int requestCode;
ActivityResultCallback callback;
+ /**
+ * RequestArgs
+ *
+ * @param requestCode
+ * @param callback
+ */
public RequestArgs(int requestCode, ActivityResultCallback callback) {
this.requestCode = requestCode;
this.callback = callback;
diff --git a/router_api/src/main/java/com/lzh/nonview/router/launcher/ActivityLauncher.java b/router_api/src/main/java/com/lzh/nonview/router/launcher/ActivityLauncher.java
index 435290b..528852d 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/launcher/ActivityLauncher.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/launcher/ActivityLauncher.java
@@ -18,29 +18,28 @@ package com.lzh.nonview.router.launcher;
import ohos.aafwk.ability.Ability;
import ohos.aafwk.ability.fraction.Fraction;
import ohos.aafwk.content.Intent;
-import ohos.app.Context;
/**
* The base class of Activity Launcher
+ * he default impl is {@link DefaultActivityLauncher}
*
- *
- * The default impl is {@link DefaultActivityLauncher}
- *
+ * @since 2021-04-06
*/
public abstract class ActivityLauncher extends Launcher{
/**
- *调用时将调用此方法 {@link com.lzh.nonview.router.route.ActivityRoute#}
+ * 调用时将调用此方法
*
- * @param context The context instance.
- * @return The new intent that created by the launcher
+ * @param context
+ * @return Intent
*/
public abstract Intent createIntent(Ability context);
/**
- * Fraction: todo 要想使用Fraction,必须让Ability继承FractionAbility
- * @param fragment The fragment instance
+ * Fraction
+ *
+ * @param fragment
* @throws Exception a error occurs
*/
public abstract void open(Fraction fragment) throws Exception;
diff --git a/router_api/src/main/java/com/lzh/nonview/router/module/ActionRouteRule.java b/router_api/src/main/java/com/lzh/nonview/router/module/ActionRouteRule.java
index 363f4b9..9aa2299 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/module/ActionRouteRule.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/module/ActionRouteRule.java
@@ -22,20 +22,42 @@ import com.lzh.nonview.router.route.ActionSupport;
import java.util.concurrent.Executor;
/**
- * @author wjt
+ * ActionRouteRule
+ *
+ * @since 2021-04-06
*/
public class ActionRouteRule extends RouteRule {
+ /**
+ * executor
+ */
private Class extends Executor> executor = MainThreadExecutor.class;
+ /**
+ * ActionRouteRule
+ *
+ * @param clz
+ * @param
+ */
public ActionRouteRule(Class clz) {
super(clz.getCanonicalName());
}
+ /**
+ * ActionRouteRule
+ *
+ * @param clzName
+ */
public ActionRouteRule(String clzName) {
super(clzName);
}
+ /**
+ * setExecutorClass
+ *
+ * @param executor
+ * @return ActionRouteRule
+ */
public ActionRouteRule setExecutorClass(Class extends Executor> executor) {
if (executor != null) {
this.executor = executor;
diff --git a/router_api/src/main/java/com/lzh/nonview/router/module/ActivityRouteRule.java b/router_api/src/main/java/com/lzh/nonview/router/module/ActivityRouteRule.java
index 652b283..c8ee955 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/module/ActivityRouteRule.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/module/ActivityRouteRule.java
@@ -21,14 +21,27 @@ import com.lzh.nonview.router.launcher.ActivityLauncher;
import ohos.aafwk.ability.Ability;
/**
- * @author wjt
+ * 主页面
+ *
+ * @since 2021-04-06
*/
public class ActivityRouteRule extends RouteRule {
+ /**
+ * ActivityRouteRule
+ *
+ * @param clz
+ * @param
+ */
public ActivityRouteRule(Class clz) {
super(clz.getCanonicalName());
}
+ /**
+ * ActivityRouteRule
+ *
+ * @param clzName
+ */
public ActivityRouteRule(String clzName) {
super(clzName);
}
diff --git a/router_api/src/main/java/com/lzh/nonview/router/module/RouteRule.java b/router_api/src/main/java/com/lzh/nonview/router/module/RouteRule.java
index 03906a2..c86716f 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/module/RouteRule.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/module/RouteRule.java
@@ -68,6 +68,9 @@ public class RouteRule{
}
public Class extends RouteInterceptor>[] getInterceptors() {
+ return Getinterceptors();
+ }
+ public Class extends RouteInterceptor>[] Getinterceptors(){
return interceptors;
}
diff --git a/router_api/src/main/java/com/lzh/nonview/router/protocol/HostServiceWrapper.java b/router_api/src/main/java/com/lzh/nonview/router/protocol/HostServiceWrapper.java
index 80da0b4..cb70539 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/protocol/HostServiceWrapper.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/protocol/HostServiceWrapper.java
@@ -38,6 +38,7 @@ import ohos.rpc.IRemoteObject;
import ohos.utils.net.Uri;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.Map;
/**
@@ -138,11 +139,20 @@ public class HostServiceWrapper {
private static Map transform(Map source){
Map dest = new HashMap<>();
- for (String route : source.keySet()) {
- RouteRule rule = source.get(route);
- RemoteRule remote = RemoteRule.create(rule, getRemote(context, rule));
- dest.put(route, remote);
+ Iterator extends Map.Entry> ii= source.entrySet().iterator();
+ while(ii.hasNext()){
+ Map.Entry next = (Map.Entry) ii.next();
+ String key = next.getKey();
+ RouteRule value = next.getValue();
+ RemoteRule remote = RemoteRule.create(value, getRemote(context, value));
+ dest.put(key, remote);
}
+// Map dest = new HashMap<>();
+// for (String route : source.keySet()) {
+// RouteRule rule = source.get(route);
+// RemoteRule remote = RemoteRule.create(rule, getRemote(context, rule));
+// dest.put(route, remote);
+// }
return dest;
}
diff --git a/router_api/src/main/java/com/lzh/nonview/router/route/ActionRoute.java b/router_api/src/main/java/com/lzh/nonview/router/route/ActionRoute.java
index facdfb5..8e5403f 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/route/ActionRoute.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/route/ActionRoute.java
@@ -24,7 +24,9 @@ import com.lzh.nonview.router.tools.Constants;
import java.util.concurrent.Executor;
/**
- * @author wjt
+ * ActionRoute
+ *
+ * @since 2021-04-06
*/
public class ActionRoute extends BaseRoute implements IActionRoute {
diff --git a/router_api/src/main/java/com/lzh/nonview/router/route/ActionSupport.java b/router_api/src/main/java/com/lzh/nonview/router/route/ActionSupport.java
index 837bdbb..b85d438 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/route/ActionSupport.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/route/ActionSupport.java
@@ -21,6 +21,8 @@ import ohos.app.Context;
/**
* 您可以从此类继承以创建动作路由事件
+ *
+ * @since 2021-04-06
*/
public abstract class ActionSupport {
diff --git a/router_api/src/main/java/com/lzh/nonview/router/route/ActivityRoute.java b/router_api/src/main/java/com/lzh/nonview/router/route/ActivityRoute.java
index cddeb1d..ee2167f 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/route/ActivityRoute.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/route/ActivityRoute.java
@@ -32,8 +32,7 @@ import ohos.app.Context;
/**
* 用于通过uri检查路线规则和启动活动的路线工具
*
- * @author lzh
- * @date 16/9/5
+ * @since 2021-04-06
*/
public class ActivityRoute extends BaseRoute implements IActivityRoute {
@@ -92,7 +91,7 @@ public class ActivityRoute extends BaseRoute implements IActivit
}
@Override
- protected Launcher obtainLauncher() throws Exception{
+ protected Launcher obtainLauncher() throws Exception {
ActivityRouteRule rule = (ActivityRouteRule) routeRule;
Class extends ActivityLauncher> launcher = rule.getLauncher();
if (launcher == null) {
diff --git a/router_api/src/main/java/com/lzh/nonview/router/route/BaseRoute.java b/router_api/src/main/java/com/lzh/nonview/router/route/BaseRoute.java
index a19d863..45803df 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/route/BaseRoute.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/route/BaseRoute.java
@@ -33,15 +33,30 @@ import ohos.utils.net.Uri;
import java.util.ArrayList;
import java.util.List;
+/**
+ * BaseRoute
+ *
+ * @since 2021-04-06
+ * @param
+ */
@SuppressWarnings("unchecked")
public abstract class BaseRoute implements IRoute, IBaseRoute, RouteInterceptorAction {
protected IntentParams bundle;
- InternalCallback callback;
protected Uri uri;
protected IntentParams remote;
protected RouteRule routeRule = null;
protected Launcher launcher;
+ InternalCallback callback;
+ /**
+ * create
+ *
+ * @param uri
+ * @param rule
+ * @param remote
+ * @param callback
+ * @return IRoute
+ */
public final IRoute create(Uri uri, RouteRule rule, IntentParams remote, InternalCallback callback) {
try {
this.uri = uri;
@@ -129,7 +144,6 @@ public abstract class BaseRoute implements IRoute, IBaseRo
}
}
}
-
return interceptors;
}
diff --git a/router_api/src/main/java/com/lzh/nonview/router/route/BrowserRoute.java b/router_api/src/main/java/com/lzh/nonview/router/route/BrowserRoute.java
index ba1771b..8d4855a 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/route/BrowserRoute.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/route/BrowserRoute.java
@@ -20,21 +20,18 @@ import com.lzh.nonview.router.tools.Utils;
import ohos.aafwk.ability.Ability;
import ohos.aafwk.content.Intent;
import ohos.aafwk.content.Operation;
-import ohos.app.Context;
import ohos.utils.net.Uri;
/**
* 通过浏览器打开uri的路由工具
- * Created by lzh on 16/9/5.
+ *
+ * @since 2021-04-06
*/
public class BrowserRoute implements IRoute {
-
+ private static final BrowserRoute ROUTE = new BrowserRoute();
Uri uri;
-
- private static final BrowserRoute route = new BrowserRoute();
-
- public static BrowserRoute getInstance () {
- return route;
+ public static BrowserRoute getInstance() {
+ return ROUTE;
}
@Override
@@ -47,10 +44,22 @@ public class BrowserRoute implements IRoute {
context.startAbility(intent2);
}
+ /**
+ * canOpenRouter
+ *
+ * @param uri
+ * @return boolean
+ */
public static boolean canOpenRouter(Uri uri) {
return Utils.isHttp(uri.getScheme());
}
+ /**
+ * setUri
+ *
+ * @param uri
+ * @return IRoute
+ */
public IRoute setUri(Uri uri) {
this.uri = uri;
return this;
diff --git a/router_api/src/main/java/com/lzh/nonview/router/route/IActivityRoute.java b/router_api/src/main/java/com/lzh/nonview/router/route/IActivityRoute.java
index 085b6cb..3db232b 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/route/IActivityRoute.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/route/IActivityRoute.java
@@ -17,13 +17,11 @@ package com.lzh.nonview.router.route;
import com.lzh.nonview.router.activityresult.ActivityResultCallback;
-import com.lzh.nonview.router.extras.RouteBundleExtras;
import com.lzh.nonview.router.tools.Constants;
import ohos.aafwk.ability.Ability;
import ohos.aafwk.ability.fraction.Fraction;
import ohos.aafwk.content.Intent;
import ohos.aafwk.content.IntentParams;
-import ohos.app.Context;
/**
* Base on the IBaseRoute, This interface provided some methods
diff --git a/router_api/src/main/java/com/lzh/nonview/router/tools/Cache.java b/router_api/src/main/java/com/lzh/nonview/router/tools/Cache.java
index 2981ba2..96be734 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/tools/Cache.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/tools/Cache.java
@@ -31,30 +31,33 @@ import java.util.concurrent.Executor;
/**
* The cache manager to holds all the cached instance.
+ *
* @author haoge
*/
public final class Cache {
private static boolean shouldReload;// if should be reload routeMap.
- /** A container to contains all of route rule creator,compat with some complex scene*/
+ /**
+ * A container to contains all of route rule creator,compat with some complex scene
+ */
private static List creatorList = new ArrayList<>();
- /** A map to contains all of route rule created by creatorList*/
- private static Map activityRouteMap = new HashMap<>();
- private static Map actionRouteMap = new HashMap<>();
- private static Map creatorRouteMap = new HashMap<>();
+ /**
+ * A map to contains all of route rule created by creatorList
+ */
+ private static Map activityRouteMap = new HashMap<>();
+ private static Map actionRouteMap = new HashMap<>();
+ private static Map creatorRouteMap = new HashMap<>();
public static final int TYPE_ACTIVITY_ROUTE = 0;
public static final int TYPE_ACTION_ROUTE = 1;
private final static Map, Executor> container = new HashMap<>();
/**
- *
- * Add a {@link RouteCreator} who contains some route rules to be used.
- * this method could be invoked multiple-times. so that you can put multiple route rules from difference modules
- *
- * @param creator {@link RouteCreator}
+ * who contains some route rules to be used.* this method could be invoked multiple-times. so that you can put multiple route rules from difference modules
+ *
+ * @param creator
*/
- public static void addCreator (RouteCreator creator) {
+ public static void addCreator(RouteCreator creator) {
if (creator == null) {
throw new IllegalArgumentException("Route creator should not be null");
}
@@ -62,21 +65,43 @@ public final class Cache {
shouldReload = true;
}
+ /**
+ * getCreatorRules
+ *
+ * @return Map
+ */
public static Map getCreatorRules() {
obtainRouteRulesIfNeed();
return creatorRouteMap;
}
+ /**
+ * getActionRules
+ *
+ * @return Map
+ */
public static Map getActionRules() {
obtainRouteRulesIfNeed();
return actionRouteMap;
}
- public static Map getActivityRules() {
+ /**
+ * getActivityRules
+ *
+ * @return Map
+ */
+ public static Map getActivityRules() {
obtainRouteRulesIfNeed();
return activityRouteMap;
}
+ /**
+ * getRouteMapByUri
+ *
+ * @param parser
+ * @param type
+ * @return RouteRule
+ */
public static RouteRule getRouteMapByUri(URIParser parser, int type) { //haoge://page/intent/printer
String route = parser.getRoute();
Map routes;
@@ -88,6 +113,9 @@ public final class Cache {
return (RouteRule) routes.get(route);
}
+ /**
+ * obtainRouteRulesIfNeed
+ */
private static void obtainRouteRulesIfNeed() {
if (shouldReload) {
activityRouteMap.clear();
@@ -107,6 +135,13 @@ public final class Cache {
}
}
+ /**
+ * addAll
+ *
+ * @param src
+ * @param target
+ * @param
+ */
private static void addAll(Map src, Map target) {
if (target == null || src == null) {
return;
@@ -116,6 +151,12 @@ public final class Cache {
}
}
+ /**
+ * findOrCreateExecutor
+ *
+ * @param key
+ * @return Executor
+ */
public static Executor findOrCreateExecutor(Class extends Executor> key) {
try {
Executor executor = container.get(key);
@@ -132,7 +173,8 @@ public final class Cache {
/**
* To register an Executor to be used.
- * @param key The class of Executor
+ *
+ * @param key The class of Executor
* @param value The Executor instance associate with the key.
*/
@SuppressWarnings("WeakerAccess")
diff --git a/router_api/src/main/java/com/lzh/nonview/router/tools/CacheBundle.java b/router_api/src/main/java/com/lzh/nonview/router/tools/CacheBundle.java
index 5c00404..44f2730 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/tools/CacheBundle.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/tools/CacheBundle.java
@@ -7,19 +7,33 @@ import java.util.ArrayList;
import java.util.HashMap;
/**
- * @author: wjt
- * @since 2021-03-26
+ * CacheBundle
+ *
+ * @since 2021-04-06
*/
public class CacheBundle {
+
+ private static CacheBundle INSTANCE = new CacheBundle();
+
private ArrayList interceptors = null;
private RouteCallback callback;
private HashMap additionalMap = null;
- private static CacheBundle INSTANCE = new CacheBundle();
- private CacheBundle(){}
+ /**
+ * 构造
+ */
+ private CacheBundle() {
+ }
+
+ /**
+ * get
+ *
+ * @return CacheBundle
+ */
public static CacheBundle get() {
return INSTANCE;
}
+
public ArrayList getInterceptors() {
return interceptors;
}
@@ -43,5 +57,4 @@ public class CacheBundle {
public void setAdditionalMap(HashMap additionalMap) {
this.additionalMap = additionalMap;
}
-
}
diff --git a/router_api/src/main/java/com/lzh/nonview/router/tools/CacheStore.java b/router_api/src/main/java/com/lzh/nonview/router/tools/CacheStore.java
index 17d634b..ab7ac20 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/tools/CacheStore.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/tools/CacheStore.java
@@ -24,15 +24,23 @@ import java.util.Arrays;
* Created by haoge on 2018/5/3.
*/
public class CacheStore {
-
- private Object[] stores = new Object[10];
+ private CacheStore() {
+ }
private static CacheStore INSTANCE = new CacheStore();
- private CacheStore(){}
+
+ /**
+ * get
+ *
+ * @return CacheStore
+ */
public static CacheStore get() {
return INSTANCE;
}
+ private Object[] stores = new Object[10];
+
+
public T get(int index) {
if (index < 0 || index >= stores.length) {
return null;
diff --git a/router_api/src/main/java/com/lzh/nonview/router/tools/Utils.java b/router_api/src/main/java/com/lzh/nonview/router/tools/Utils.java
index b415c3e..21afb27 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/tools/Utils.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/tools/Utils.java
@@ -26,6 +26,7 @@ import ohos.agp.utils.TextTool;
import ohos.app.Context;
import ohos.utils.net.Uri;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -84,9 +85,10 @@ public class Utils {
public static IntentParams parseToBundle(URIParser parser) {
IntentParams bundle = new IntentParams();
Map params = parser.getParams();
- Set keySet = params.keySet();
- for (String key : keySet) {
- bundle.setParam(key, params.get(key));
+ Iterator> iterator = params.entrySet().iterator();
+ while (iterator.hasNext()){
+ Map.Entry entry = iterator.next();
+ bundle.setParam(entry.getKey(), entry.getValue());
}
return bundle;
}
diff --git a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/Compiler.java b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/Compiler.java
index 14dff59..1c09c5a 100644
--- a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/Compiler.java
+++ b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/Compiler.java
@@ -13,11 +13,9 @@ import com.lzh.nonview.router.compiler.util.Utils;
import com.squareup.javapoet.ClassName;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import javax.annotation.processing.AbstractProcessor;
@@ -33,7 +31,7 @@ import javax.tools.Diagnostic;
* The entry class of annotation processor
*/
@AutoService(Processor.class)
-public class Compiler extends AbstractProcessor{
+public class Compiler extends AbstractProcessor {
@Override
public boolean process(Set extends TypeElement> annotations, RoundEnvironment roundEnv) {
try {
@@ -42,18 +40,19 @@ public class Compiler extends AbstractProcessor{
return false;
} catch (RouterException e) {
e.printStackTrace();
- error(e.getElement(),e.getMessage());
+ error(e.getElement(), e.getMessage());
return true;
}
}
/**
* Parse the {@link RouteConfig} and create a {@link BasicConfigurations} to be used.
+ *
* @param roundEnv data sources
* @return The instance of {@link BasicConfigurations}
* @throws RouterException pack all of the exception when a error occurs.
*/
- private BasicConfigurations processRouteConfig(RoundEnvironment roundEnv) throws RouterException{
+ private BasicConfigurations processRouteConfig(RoundEnvironment roundEnv) throws RouterException {
TypeElement type = null;
try {
Set extends Element> elements = roundEnv.getElementsAnnotatedWith(RouteConfig.class);
@@ -62,10 +61,10 @@ public class Compiler extends AbstractProcessor{
while (iterator.hasNext()) {
type = (TypeElement) iterator.next();
if (configurations != null) {
- throw new RouterException("The RouteConfig in this module was defined duplicated!",type);
+ throw new RouterException("The RouteConfig in this module was defined duplicated!", type);
}
- if (!Utils.isSuperClass(type,Constants.CLASSNAME_APPLICATION)) {
- throw new RouterException("The class you are annotated by RouteConfig must be a Application",type);
+ if (!Utils.isSuperClass(type, Constants.CLASSNAME_APPLICATION)) {
+ throw new RouterException("The class you are annotated by RouteConfig must be a Application", type);
}
RouteConfig config = type.getAnnotation(RouteConfig.class);
configurations = new BasicConfigurations(config);
@@ -74,16 +73,18 @@ public class Compiler extends AbstractProcessor{
} catch (RouterException e) {
throw e;
} catch (Throwable e) {
- throw new RouterException(e.getMessage(),e,type);
+ throw new RouterException(e.getMessage(), e, type);
}
}
+
/**
* 解析由{@link RouterRule}注释的所有元素。并结合{@link BasicConfigurations}来创建新的Java文件
+ *
* @param roundEnv The data sources
- * @param config The instance of {@link BasicConfigurations} that be parsed by {@link Compiler#processRouteConfig(RoundEnvironment)}
+ * @param config The instance of {@link BasicConfigurations} that be parsed by {@link Compiler#processRouteConfig(RoundEnvironment)}
* @throws RouterException pack all of the exception when a error occurs.
*/
- private void processRouteRules(RoundEnvironment roundEnv, BasicConfigurations config) throws RouterException{
+ private void processRouteRules(RoundEnvironment roundEnv, BasicConfigurations config) throws RouterException {
List parsers = new ArrayList<>();
Set extends Element> elements = roundEnv.getElementsAnnotatedWith(RouterRule.class);
if (elements.isEmpty()) {
@@ -93,7 +94,9 @@ public class Compiler extends AbstractProcessor{
try {
for (Element ele : elements) {
type = (TypeElement) ele;
- if (!Utils.checkTypeValid(type)) continue;
+ if (!Utils.checkTypeValid(type)) {
+ continue;
+ }
RouterRule rule = type.getAnnotation(RouterRule.class);
RouteRuleConfig ruleConfig = RouteRuleConfig.create(rule, config, type);
@@ -108,7 +111,7 @@ public class Compiler extends AbstractProcessor{
} catch (RouterException e) {
throw e;
} catch (Throwable e) {
- throw new RouterException(e.getMessage(),e,type);
+ throw new RouterException(e.getMessage(), e, type);
}
}
@@ -117,7 +120,7 @@ public class Compiler extends AbstractProcessor{
*
* @param element Element of class who has a exception when compiled
* @param message The message should be noticed to user
- * @param args args to inflate message
+ * @param args args to inflate message
*/
private void error(Element element, String message, Object... args) {
if (args.length > 0) {
diff --git a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/Constants.java b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/Constants.java
index 46e7223..13788d8 100644
--- a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/Constants.java
+++ b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/Constants.java
@@ -1,6 +1,16 @@
package com.lzh.nonview.router.compiler;
+/**
+ * Constants
+ *
+ * @since 2021-04-06
+ */
public class Constants {
+ /**
+ * 构造
+ */
+ public Constants() {
+ }
// Application
public static final String CLASSNAME_APPLICATION = "ohos.aafwk.ability.AbilityPackage";
diff --git a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/factory/RuleFactory.java b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/factory/RuleFactory.java
index a20cb7e..4aba83b 100644
--- a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/factory/RuleFactory.java
+++ b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/factory/RuleFactory.java
@@ -30,7 +30,6 @@ public class RuleFactory {
private List activityParser = new ArrayList<>();
private List actionParser = new ArrayList<>();
private List creatorParser = new ArrayList<>();
- private ClassName routeMap = ClassName.bestGuess(Constants.CLASSNAME_ROUTE_MAP);
private ClassName activityRouteMap = ClassName.bestGuess(Constants.CLASSNAME_ACTIVITY_ROUTE_MAP);
private ClassName actionRouteMap = ClassName.bestGuess(Constants.CLASSNAME_ACTION_ROUTE_MAP);
private ClassName creatorRouteMap = ClassName.bestGuess(Constants.CLASSNAME_CREATOR_ROUTE_MAP);
diff --git a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/BasicConfigurations.java b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/BasicConfigurations.java
index 86e7c18..98bc9fd 100644
--- a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/BasicConfigurations.java
+++ b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/BasicConfigurations.java
@@ -3,10 +3,20 @@ package com.lzh.nonview.router.compiler.model;
import com.lzh.nonview.router.anno.RouteConfig;
import com.lzh.nonview.router.compiler.util.Utils;
+/**
+ * 主页面
+ *
+ * @since 2021-04-06
+ */
public class BasicConfigurations {
public String baseUrl;
public String pack = "com.lzh.router";
+ /**
+ * 构造
+ *
+ * @param config
+ */
public BasicConfigurations(RouteConfig config) {
if (config == null) {
return;
diff --git a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/Parser.java b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/Parser.java
index 4213eef..c0a4919 100644
--- a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/Parser.java
+++ b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/Parser.java
@@ -19,7 +19,13 @@ import javax.lang.model.type.TypeMirror;
public class Parser {
public final static String Slash="/";
private static Map parsed = new HashMap<>();
+
private String[] routers;
+
+ public String[] getRouters() {
+ return this.routers == null ? new String[0] : this.routers;
+ }
+
private TypeElement type;
private RouteRuleConfig configurations;
private ClassName executorClass;
@@ -65,7 +71,7 @@ public class Parser {
}
public String[] getScheme() {
- return routers;
+ return getRouters();
}
public TypeElement getType() {
diff --git a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/RouteRuleConfig.java b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/RouteRuleConfig.java
index c8dff36..3fdc9d3 100644
--- a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/RouteRuleConfig.java
+++ b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/RouteRuleConfig.java
@@ -13,6 +13,7 @@ import com.squareup.javapoet.TypeName;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.locks.AbstractOwnableSynchronizer;
import javax.lang.model.element.TypeElement;
import javax.lang.model.type.MirroredTypeException;
@@ -28,6 +29,14 @@ import javax.lang.model.util.Elements;
*
*/
public class RouteRuleConfig {
+ /**
+ * getRoutes
+ *
+ * @return String[]
+ */
+ public String[] getRoutes() {
+ return this.routes == null ? new String[0] : this.routes;
+ }
private String[] routes;
private ClassName launcher;
private TypeName[] interceptors;
@@ -126,10 +135,8 @@ public class RouteRuleConfig {
return launcher;
}
-
-
public String[] getRoute() {
- return routes == null ? new String[0] : routes;
+ return getRoutes() == null ? new String[0] : getRoutes();
}
public ClassName getLauncher() {
@@ -137,6 +144,6 @@ public class RouteRuleConfig {
}
public TypeName[] getInterceptors () {
- return interceptors;
+ return this.interceptors == null ? new TypeName[0] : this.interceptors;
}
}
--
Gitee
From d2d6ae07734f59004f694ffb79821c7a4e80bdf0 Mon Sep 17 00:00:00 2001
From: wjt983049539
Date: Tue, 6 Jul 2021 15:33:01 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9findbugs=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../nonview/router/demo/MyApplication.java | 3 +-
.../java/com/lzh/nonview/router/Router.java | 46 +++++++++++++------
.../ActivityResultDispatcher.java | 3 +-
.../lzh/nonview/router/module/RouteRule.java | 5 +-
.../lzh/nonview/router/tools/RouterLog.java | 15 +++++-
.../nonview/router/compiler/model/Parser.java | 26 +++++------
.../compiler/model/RouteRuleConfig.java | 13 +-----
7 files changed, 62 insertions(+), 49 deletions(-)
diff --git a/entry/src/main/java/com/lzh/nonview/router/demo/MyApplication.java b/entry/src/main/java/com/lzh/nonview/router/demo/MyApplication.java
index f833e67..8b812ed 100644
--- a/entry/src/main/java/com/lzh/nonview/router/demo/MyApplication.java
+++ b/entry/src/main/java/com/lzh/nonview/router/demo/MyApplication.java
@@ -26,9 +26,8 @@ public class MyApplication extends AbilityPackage {
/**
* 设置默认路由拦截器:所有路由跳转均会被触发(除了需要直接打开浏览器的链接)
*/
- //
RouteInterceptor interceptor = new DefaultInterceptor();
RouterConfiguration.get().setInterceptor(interceptor);
- Router.DEBUG = true;
+ Router.setDebug(true);
}
}
diff --git a/router_api/src/main/java/com/lzh/nonview/router/Router.java b/router_api/src/main/java/com/lzh/nonview/router/Router.java
index 2b91fef..2995020 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/Router.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/Router.java
@@ -37,8 +37,6 @@ import com.lzh.nonview.router.tools.Constants;
import com.lzh.nonview.router.tools.Utils;
import ohos.aafwk.ability.Ability;
import ohos.aafwk.content.IntentParams;
-import ohos.app.AbilityContext;
-import ohos.app.Context;
import ohos.utils.net.Uri;
import java.util.concurrent.Executor;
@@ -49,7 +47,7 @@ import java.util.concurrent.Executor;
*
* @author haoge
*/
-public final class Router{
+public final class Router {
/**
* 原始uri的关键。 您可以通过此键获取uri,例如:
@@ -58,15 +56,17 @@ public final class Router{
* haoge://page/intent/printer?title=动态登录检查&requestLogin=1
*/
public static final String RAW_URI = "_ROUTER_RAW_URI_KEY_";
- public static final boolean DEBUG = false;
-
+ /**
+ * DEBUG
+ */
+ private static boolean debug = false;
private Uri uri;
private String url;
private InternalCallback internalCallback;
private Router(String url) {
- this.url= url;
- this.uri = Uri.parse(url == null?"":url);
+ this.url = url;
+ this.uri = Uri.parse(url == null ? "" : url);
internalCallback = new InternalCallback(uri);
}
@@ -81,17 +81,30 @@ public final class Router{
return new Router(url);
}
+ public static boolean isDebug() {
+ return debug;
+ }
+ public static void setDebug(boolean debug) {
+ Router.debug = debug;
+ }
+ /**
+ * createInstanceRouter
+ *
+ * @param url
+ * @return InstanceRouter
+ */
public static InstanceRouter createInstanceRouter(String url) {
return InstanceRouter.build(url);
}
/**
* Set a callback to notify the user when the routing were success or failure.
+ *
* @param callback The callback you set.
* @return Router itself
*/
- public Router setCallback (RouteCallback callback) {
+ public Router setCallback(RouteCallback callback) {
this.internalCallback.setCallback(callback);
return this;
}
@@ -139,7 +152,8 @@ public final class Router{
/**
* Restore a Routing event from last uri and extras.
- * @param uri last uri
+ *
+ * @param uri last uri
* @param extras last extras
* @return The restored routing find by {@link Router#getRoute()}
*/
@@ -153,6 +167,7 @@ public final class Router{
/**
* launch 路由任务.
+ *
* @param context context to launched
*/
public void open(Ability context) {
@@ -165,14 +180,14 @@ public final class Router{
*
* @return An IRoute object.it will be BrowserRoute, ActivityRoute or ActionRoute.
*/
- public IRoute getRoute () {
+ public IRoute getRoute() {
IRoute route = getLocalRoute();
if (!(route instanceof IRoute.EmptyRoute)) {
return route;
}
route = HostServiceWrapper.create(url, internalCallback);
if (route instanceof IRoute.EmptyRoute) {
- notifyNotFound(String.format("find Route by %s failed:",uri));
+ notifyNotFound(String.format("find Route by %s failed:", uri));
}
return route;
}
@@ -202,6 +217,7 @@ public final class Router{
* Get {@link IBaseRoute} by uri, it could be one of {@link IActivityRoute} or {@link IActionRoute}.
* and you can add some { } data and {@link RouteInterceptor} into it.
*
+ *
* @return returns an {@link IBaseRoute} finds by uri or {@link IBaseRoute.EmptyBaseRoute} for not found
*/
public IBaseRoute getBaseRoute() {
@@ -210,12 +226,13 @@ public final class Router{
return (IBaseRoute) route;
}
- notifyNotFound(String.format("find BaseRoute by %s failed, but is %s",uri, route.getClass().getSimpleName()));
+ notifyNotFound(String.format("find BaseRoute by %s failed, but is %s", uri, route.getClass().getSimpleName()));
return new IBaseRoute.EmptyBaseRoute(internalCallback);
}
/**
* Get {@link IActivityRoute} by uri,you should get a route by this way and set some extras data before open
+ *
* @return returns an {@link IActivityRoute} finds by uri or {@link IActivityRoute.EmptyActivityRoute} for not found.
*/
public IActivityRoute getActivityRoute() {
@@ -225,12 +242,13 @@ public final class Router{
}
// return an empty route to avoid NullPointException
- notifyNotFound(String.format("find ActivityRoute by %s failed, but is %s",uri, route.getClass().getSimpleName()));
+ notifyNotFound(String.format("find ActivityRoute by %s failed, but is %s", uri, route.getClass().getSimpleName()));
return new IActivityRoute.EmptyActivityRoute(internalCallback);
}
/**
* Get {@link IActionRoute} by uri,you should get a route by this way and set some extras data before open
+ *
* @return returns an {@link IActionRoute} finds by uri or {@link IActionRoute.EmptyActionRoute} for not found.
*/
public IActionRoute getActionRoute() {
@@ -239,7 +257,7 @@ public final class Router{
return (IActionRoute) route;
}
- notifyNotFound(String.format("find ActionRoute by %s failed, but is %s",uri, route.getClass().getSimpleName()));
+ notifyNotFound(String.format("find ActionRoute by %s failed, but is %s", uri, route.getClass().getSimpleName()));
// return a empty route to avoid NullPointException
return new IActionRoute.EmptyActionRoute(internalCallback);
}
diff --git a/router_api/src/main/java/com/lzh/nonview/router/activityresult/ActivityResultDispatcher.java b/router_api/src/main/java/com/lzh/nonview/router/activityresult/ActivityResultDispatcher.java
index a7849ef..ae65a79 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/activityresult/ActivityResultDispatcher.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/activityresult/ActivityResultDispatcher.java
@@ -88,8 +88,7 @@ public final class ActivityResultDispatcher {
while (iterator1.hasNext()) {
Map.Entry> next = iterator1.next();
Ability nextAbility = next.getKey();
- if (!Utils.isValid(nextAbility)
- || container.get(next).isEmpty()) {
+ if (!Utils.isValid(nextAbility)) {
iterator1.remove();
}
}
diff --git a/router_api/src/main/java/com/lzh/nonview/router/module/RouteRule.java b/router_api/src/main/java/com/lzh/nonview/router/module/RouteRule.java
index c86716f..d109316 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/module/RouteRule.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/module/RouteRule.java
@@ -68,10 +68,7 @@ public class RouteRule{
}
public Class extends RouteInterceptor>[] getInterceptors() {
- return Getinterceptors();
- }
- public Class extends RouteInterceptor>[] Getinterceptors(){
- return interceptors;
+ return interceptors.clone();
}
public R setLauncher(Class extends L> launcher) {
diff --git a/router_api/src/main/java/com/lzh/nonview/router/tools/RouterLog.java b/router_api/src/main/java/com/lzh/nonview/router/tools/RouterLog.java
index d926f0e..2e5e3b5 100644
--- a/router_api/src/main/java/com/lzh/nonview/router/tools/RouterLog.java
+++ b/router_api/src/main/java/com/lzh/nonview/router/tools/RouterLog.java
@@ -9,13 +9,24 @@ public final class RouterLog {
private static final String TAG = "RouterLog";
// 定义日志标签
private static final HiLogLabel LABEL = new HiLogLabel(HiLog.LOG_APP, 0x00201, "MyLog");
+
+ /**
+ * d
+ *
+ * @param message
+ */
public static void d(String message) {
- if (Router.DEBUG) {
+ if (Router.isDebug()) {
HiLog.debug(LABEL, message);
}
}
+ /**
+ * e
+ *
+ * @param message
+ */
public static void e(String message, Throwable t) {
- if (Router.DEBUG) {
+ if (Router.isDebug()) {
HiLog.error(LABEL, message);
}
}
diff --git a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/Parser.java b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/Parser.java
index c0a4919..f9f6dc4 100644
--- a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/Parser.java
+++ b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/Parser.java
@@ -17,20 +17,18 @@ import javax.lang.model.type.TypeMirror;
* 解析器
*/
public class Parser {
- public final static String Slash="/";
- private static Map parsed = new HashMap<>();
- private String[] routers;
-
- public String[] getRouters() {
- return this.routers == null ? new String[0] : this.routers;
- }
+ private static Map parsed = new HashMap<>();
+ private String[] routers;
private TypeElement type;
private RouteRuleConfig configurations;
private ClassName executorClass;
-
- public static Parser create (TypeElement element, RouteRuleConfig configurations) {
+ /**
+ * "/"
+ */
+ public static final String Slash = "/";
+ public static Parser create(TypeElement element, RouteRuleConfig configurations) {
Parser parser = new Parser();
parser.type = element;
parser.configurations = configurations;
@@ -51,7 +49,7 @@ public class Parser {
}
}
- public void parse () {
+ public void parse() {
routers = configurations.getRoute();
for (int i = 0; i < routers.length; i++) {
String route = routers[i];
@@ -61,17 +59,17 @@ public class Parser {
private void checkIsDuplicate(String route) {
if (route.endsWith(Slash)) {
- route = route.substring(0,route.lastIndexOf(Slash));
+ route = route.substring(0, route.lastIndexOf(Slash));
}
if (parsed.containsKey(route)) {
- throw new RouterException(String.format("A same scheme was double defined on another class %s", parsed.get(route)),type);
+ throw new RouterException(String.format("A same scheme was double defined on another class %s", parsed.get(route)), type);
}
- parsed.put(route,type);
+ parsed.put(route, type);
}
public String[] getScheme() {
- return getRouters();
+ return routers.clone();
}
public TypeElement getType() {
diff --git a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/RouteRuleConfig.java b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/RouteRuleConfig.java
index 3fdc9d3..082056b 100644
--- a/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/RouteRuleConfig.java
+++ b/router_compiler/src/main/java/com/lzh/nonview/router/compiler/model/RouteRuleConfig.java
@@ -29,18 +29,9 @@ import javax.lang.model.util.Elements;
*
*/
public class RouteRuleConfig {
- /**
- * getRoutes
- *
- * @return String[]
- */
- public String[] getRoutes() {
- return this.routes == null ? new String[0] : this.routes;
- }
private String[] routes;
private ClassName launcher;
private TypeName[] interceptors;
-
public static RouteRuleConfig create(RouterRule rule, BasicConfigurations basicConfigurations, TypeElement type) {
RouteRuleConfig config = new RouteRuleConfig();
config.routes = config.combineRoute(rule, basicConfigurations);
@@ -136,7 +127,7 @@ public class RouteRuleConfig {
}
public String[] getRoute() {
- return getRoutes() == null ? new String[0] : getRoutes();
+ return routes.clone();
}
public ClassName getLauncher() {
@@ -144,6 +135,6 @@ public class RouteRuleConfig {
}
public TypeName[] getInterceptors () {
- return this.interceptors == null ? new TypeName[0] : this.interceptors;
+ return this.interceptors.clone();
}
}
--
Gitee