Parser for parsing request to JSONRequest @author Lemon
| 37 | * @author Lemon |
| 38 | */ |
| 39 | public abstract class AbstractParser<T, M extends Map<String, Object>, L extends List<Object>> |
| 40 | implements Parser<T, M, L> { |
| 41 | protected static final String TAG = "AbstractParser"; |
| 42 | |
| 43 | /** |
| 44 | * JSON 对象、数组对应的数据源、版本、角色、method等 |
| 45 | */ |
| 46 | protected Map<Object, Map<String, Object>> keyObjectAttributesMap = new HashMap<>(); |
| 47 | /** |
| 48 | * 可以通过切换该变量来控制是否打印关键的接口请求内容。保守起见,该值默认为false。 |
| 49 | * 与 {@link Log#DEBUG} 任何一个为 true 都会打印关键的接口请求内容。 |
| 50 | */ |
| 51 | public static boolean IS_PRINT_REQUEST_STRING_LOG = false; |
| 52 | |
| 53 | /** |
| 54 | * 打印大数据量日志的标识。线上环境比较敏感,可以通过切换该变量来控制异常栈抛出、错误日志打印。保守起见,该值默认为false。 |
| 55 | * 与 {@link Log#DEBUG} 任何一个为 true 都会打印关键的接口请求及响应信息。 |
| 56 | */ |
| 57 | public static boolean IS_PRINT_BIG_LOG = false; |
| 58 | |
| 59 | /** |
| 60 | * 可以通过切换该变量来控制是否打印关键的接口请求结束时间。保守起见,该值默认为false。 |
| 61 | * 与 {@link Log#DEBUG} 任何一个为 true 都会打印关键的接口请求结束时间。 |
| 62 | */ |
| 63 | public static boolean IS_PRINT_REQUEST_ENDTIME_LOG = false; |
| 64 | |
| 65 | /** |
| 66 | * 可以通过切换该变量来控制返回 trace:stack 字段,如果是 gson 则不设置为 false,避免序列化报错。 |
| 67 | * 与 {@link Log#DEBUG} 任何一个为 true 返回 trace:stack 字段。 |
| 68 | */ |
| 69 | public static boolean IS_RETURN_STACK_TRACE = true; |
| 70 | |
| 71 | |
| 72 | /** |
| 73 | * 分页页码是否从 1 开始,默认为从 0 开始 |
| 74 | */ |
| 75 | public static boolean IS_START_FROM_1 = false; |
| 76 | public static int MAX_QUERY_PAGE = 100; |
| 77 | public static int DEFAULT_QUERY_COUNT = 10; |
| 78 | public static int MAX_QUERY_COUNT = 100; |
| 79 | public static int MAX_UPDATE_COUNT = 10; |
| 80 | public static int MAX_SQL_COUNT = 200; |
| 81 | public static int MAX_OBJECT_COUNT = 5; |
| 82 | public static int MAX_ARRAY_COUNT = 5; |
| 83 | public static int MAX_QUERY_DEPTH = 5; |
| 84 | |
| 85 | public boolean isStartFrom1() { |
| 86 | return IS_START_FROM_1; |
| 87 | } |
| 88 | @Override |
| 89 | public int getMinQueryPage() { |
| 90 | return isStartFrom1() ? 1 : 0; |
| 91 | } |
| 92 | @Override |
| 93 | public int getMaxQueryPage() { |
| 94 | return MAX_QUERY_PAGE; |
| 95 | } |
| 96 | @Override |