codeexpl.java

来自「字典工具类。系统中常用的错误定义和解析功能类」· Java 代码 · 共 54 行

JAVA
54
字号
package org.xinguan.common.util;

import java.lang.annotation.*;
import java.lang.reflect.*;
import java.util.*;

import org.xinguan.common.logs.*;

public final class CodeExpl
{
  @Documented
  @Retention(RetentionPolicy.RUNTIME)
  @Target(ElementType.FIELD)
  public static @interface CodeDesc
  {
    String desc() default "错误或异常";
  }

  private static HashMap<String,String> codedescs=new HashMap<String,String>();

  public static synchronized void dictExpl(Object expls)
  {
    if(expls==null)
    {
      return;
    }

    try
    {
      for(Field field:expls.getClass().getDeclaredFields())
      {
        if(field.isAnnotationPresent(CodeDesc.class))
        {
          codedescs.put(field.get(expls).toString(),field.getAnnotation(CodeDesc.class).desc());
        }
      }
    }
    catch(Throwable th)
    {
      LogsUtil.logext("CORE",Level.Error,"错误描述定义异常",th);
    }
  }

  public static String explain(String errcode)
  {
    return NullUtil.nullString(codedescs.get(errcode),"未知错误或异常");
  }

  public static String explain(String errcode,String errdesc)
  {
    return NullUtil.nullString(codedescs.get(errcode),errdesc);
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?