Пример #1
0
  /**
   * Get the full description of a class by using reflection
   *
   * @param clazz
   * @return
   */
  public static String getDescription(Class<?> clazz) {
    ClassType type = TypeOracle.Instance.getClassType(clazz);
    if (type == null) return clazz.getName() + ": Not Reflection Information available.";

    StringBuilder sb = new StringBuilder();
    printAnnotations(type, sb);
    sb.append(type.getName()).append("\n");
    sb.append("\n");
    sb.append("Fields:").append("\n");
    for (Field field : type.getFields()) {
      printAnnotations(field, sb);
      sb.append(field.getTypeName()).append(" ").append(field.getName()).append("\n");
    }

    sb.append("\n");
    if (type.findConstructor() != null) {
      sb.append("Constructor:").append("\n");
      sb.append(type.findConstructor().toString()).append("\n");
    } else {
      sb.append("No default Contructor\n");
    }

    sb.append("\n");
    sb.append("Methods:").append("\n");
    for (Method method : type.getMethods()) {
      printAnnotations(method, sb);
      sb.append(method.toString()).append("\n");
    }

    return sb.toString();
  }