コード例 #1
0
  /**
   * Returns the qualified name of the given type.
   *
   * @param type The type
   * @return The qualified name of the given type.
   */
  private String qualifiedName(Type type) {
    String result = null;
    if (type != null && !(type instanceof PrimitiveType)) {
      List<String> packagesName = new ArrayList<String>();

      EObject eContainer = type.eContainer();
      while (eContainer != null
          && eContainer instanceof Package
          && !(eContainer instanceof Model)) {
        Package umlPackage = (Package) eContainer;
        packagesName.add(umlPackage.getName());

        eContainer = umlPackage.eContainer();
      }

      Collections.reverse(packagesName);

      StringBuilder stringBuilder = new StringBuilder();
      for (String packageName : packagesName) {
        stringBuilder.append(packageName);
        stringBuilder.append('.');
      }

      stringBuilder.append(type.getName());

      result = stringBuilder.toString();
      if (JAVA_LANG_TYPES.contains(type.getName())) {
        result = null;
      } else if (JAVA_UTIL_TYPES.contains(type.getName())) {
        result = "java.util." + type.getName();
      }
    }
    return result;
  }