code: public static String getBinaryName(Elements elementUtils, TypeElement type) throws IOException {
      String packageName = getPackageName(elementUtils, type);
      String qualifiedName = type.getQualifiedName().toString();
      if (packageName.length() > 0) {
        return packageName + '.' + qualifiedName.substring(packageName.length() + 1).replace('.', '$');
      } else {
        return qualifiedName.replace('.', '$');
      }
    }
docs: Get the qualified name of a class. Also respects innner classes
  
  @param elementUtils Elements
  @param type TypeElement
  @return The qualified name of the class represented by the passed type element
  @throws IOException