87 lines
3.2 KiB
Plaintext
87 lines
3.2 KiB
Plaintext
{
|
|
"Multi-types Exception": {
|
|
"scope": "java",
|
|
"prefix": "multi-types-exception",
|
|
"body": [
|
|
"public final class ${2:$TM_FILENAME_BASE}",
|
|
"\t\textends ${3|RuntimeException,Exception,BizException,SysException|}",
|
|
"\t\timplements MultiTypesException<${2:$TM_FILENAME_BASE}, ${2:$TM_FILENAME_BASE}.Type> {",
|
|
"\tprivate static final long serialVersionUID = ${4:${RANDOM/(0)//}$CURRENT_DATE$CURRENT_MONTH$CURRENT_YEAR_SHORT$CURRENT_SECOND$CURRENT_MINUTE$CURRENT_HOUR}L;",
|
|
"",
|
|
"\tprivate final ${1|@NonNull ,@Nonnull |}Type type;",
|
|
"",
|
|
"\tprivate ${2:$TM_FILENAME_BASE}(${1|@NonNull ,@Nonnull |}Type type) {",
|
|
"\t\tsuper(type.getDefaultMessage());",
|
|
"\t\tthis.type = type;",
|
|
"\t}",
|
|
"",
|
|
"\tprivate ${2:$TM_FILENAME_BASE}(${1|@NonNull ,@Nonnull |}Type type, @Nullable String msg) {",
|
|
"\t\tsuper(msg);",
|
|
"\t\tthis.type = type;",
|
|
"\t}",
|
|
"",
|
|
"\tprivate ${2:$TM_FILENAME_BASE}(${1|@NonNull ,@Nonnull |}Type type, @Nullable Throwable cause) {",
|
|
"\t\tsuper(cause);",
|
|
"\t\tthis.type = type;",
|
|
"\t}",
|
|
"",
|
|
"\tprivate ${2:$TM_FILENAME_BASE}(${1|@NonNull ,@Nonnull |}Type type, @Nullable String msg, @Nullable Throwable cause) {",
|
|
"\t\tsuper(msg, cause);",
|
|
"\t\tthis.type = type;",
|
|
"\t}",
|
|
"",
|
|
"\t@Override",
|
|
"\tpublic ${1|@NonNull ,@Nonnull |}Type getType() {",
|
|
"\t\treturn type;",
|
|
"\t}",
|
|
"",
|
|
"\tpublic enum Type implements ExceptionType<${2:$TM_FILENAME_BASE}> {",
|
|
"\t\tDEFAULT(\"00\", \"$5\"),",
|
|
"\t\t// TODO other types",
|
|
"\t\t;",
|
|
"",
|
|
"\t\tprivate final ${1|@NonNull ,@Nonnull |}String code;",
|
|
"\t\tprivate final ${1|@NonNull ,@Nonnull |}String defaultMessage;",
|
|
"",
|
|
"\t\tType(${1|@NonNull ,@Nonnull |}String code, ${1|@NonNull ,@Nonnull |}String defaultMessage) {",
|
|
"\t\t\tthis.code = code;",
|
|
"\t\t\tthis.defaultMessage = defaultMessage;",
|
|
"\t\t}",
|
|
"",
|
|
"\t\t@Override",
|
|
"\t\tpublic ${1|@NonNull ,@Nonnull |}String getCode() {",
|
|
"\t\t\treturn code;",
|
|
"\t\t}",
|
|
"",
|
|
"\t\t@Override",
|
|
"\t\tpublic ${1|@NonNull ,@Nonnull |}String getDefaultMessage() {",
|
|
"\t\t\treturn defaultMessage;",
|
|
"\t\t}",
|
|
"",
|
|
"\t\t@Override",
|
|
"\t\tpublic ${1|@NonNull ,@Nonnull |}${2:$TM_FILENAME_BASE} create() {",
|
|
"\t\t\treturn new ${2:$TM_FILENAME_BASE}(this);",
|
|
"\t\t}",
|
|
"\t",
|
|
"\t\t@Override",
|
|
"\t\tpublic ${1|@NonNull ,@Nonnull |}${2:$TM_FILENAME_BASE} create(@Nullable String message) {",
|
|
"\t\t\treturn new ${2:$TM_FILENAME_BASE}(this, message);",
|
|
"\t\t}",
|
|
"\t",
|
|
"\t\t@Override",
|
|
"\t\tpublic ${1|@NonNull ,@Nonnull |}${2:$TM_FILENAME_BASE} create(@Nullable Throwable cause) {",
|
|
"\t\t\treturn new ${2:$TM_FILENAME_BASE}(this, cause);",
|
|
"\t\t}",
|
|
"\t",
|
|
"\t\t@Override",
|
|
"\t\tpublic ${1|@NonNull ,@Nonnull |}${2:$TM_FILENAME_BASE} create(@Nullable String message, @Nullable Throwable cause) {",
|
|
"\t\t\treturn new ${2:$TM_FILENAME_BASE}(this, message, cause);",
|
|
"\t\t}",
|
|
"\t}",
|
|
"}",
|
|
"",
|
|
],
|
|
"description": "Exception with multiple types."
|
|
}
|
|
}
|