All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.siyeh.ig.GroupDisplayNameUtil Maven / Gradle / Ivy

Go to download

A packaging of the IntelliJ Community Edition java-analysis-impl library. This is release number 1 of trunk branch 142.

The newest version!
/*
 * Copyright 2011 Bas Leijdekkers
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.siyeh.ig;

import com.intellij.codeInspection.InspectionsBundle;
import org.jetbrains.annotations.NonNls;

import java.util.HashMap;
import java.util.Map;

public class GroupDisplayNameUtil {
  @NonNls
  private static final Map packageGroupDisplayNameMap = new HashMap();

  static {
    packageGroupDisplayNameMap.put("abstraction", "group.names.abstraction.issues");
    packageGroupDisplayNameMap.put("assignment", "group.names.assignment.issues");
    packageGroupDisplayNameMap.put("bitwise", "group.names.bitwise.operation.issues");
    packageGroupDisplayNameMap.put("bugs", "group.names.probable.bugs");
    packageGroupDisplayNameMap.put("classlayout", "group.names.class.structure");
    packageGroupDisplayNameMap.put("classmetrics", "group.names.class.metrics");
    packageGroupDisplayNameMap.put("cloneable", "group.names.cloning.issues");
    packageGroupDisplayNameMap.put("controlflow", "group.names.control.flow.issues");
    packageGroupDisplayNameMap.put("dataflow", "group.names.data.flow.issues");
    packageGroupDisplayNameMap.put("dependency", "group.names.dependency.issues");
    packageGroupDisplayNameMap.put("encapsulation", "group.names.encapsulation.issues");
    packageGroupDisplayNameMap.put("errorhandling", "group.names.error.handling");
    packageGroupDisplayNameMap.put("finalization", "group.names.finalization.issues");
    packageGroupDisplayNameMap.put("imports", "group.names.imports");
    packageGroupDisplayNameMap.put("inheritance", "group.names.inheritance.issues");
    packageGroupDisplayNameMap.put("initialization", "group.names.initialization.issues");
    packageGroupDisplayNameMap.put("internationalization", "group.names.internationalization.issues");
    packageGroupDisplayNameMap.put("j2me", "group.names.j2me.issues");
    packageGroupDisplayNameMap.put("javabeans", "group.names.javabeans.issues");
    packageGroupDisplayNameMap.put("javadoc", "group.names.javadoc.issues");
    packageGroupDisplayNameMap.put("jdk", "group.names.java.language.level.issues");
    packageGroupDisplayNameMap.put("migration",
                                   "group.names.language.level.specific.issues.and.migration.aids");
    packageGroupDisplayNameMap.put("junit", "group.names.junit.issues");
    packageGroupDisplayNameMap.put("logging", "group.names.logging.issues");
    packageGroupDisplayNameMap.put("maturity", "group.names.code.maturity.issues");
    packageGroupDisplayNameMap.put("memory", "group.names.memory.issues");
    packageGroupDisplayNameMap.put("methodmetrics", "group.names.method.metrics");
    packageGroupDisplayNameMap.put("modularization", "group.names.modularization.issues");
    packageGroupDisplayNameMap.put("naming", "group.names.naming.conventions");
    packageGroupDisplayNameMap.put("numeric", "group.names.numeric.issues");
    packageGroupDisplayNameMap.put("packaging", "group.names.packaging.issues");
    packageGroupDisplayNameMap.put("performance", "group.names.performance.issues");
    packageGroupDisplayNameMap.put("portability", "group.names.portability.issues");
    packageGroupDisplayNameMap.put("redundancy", "group.names.declaration.redundancy");
    packageGroupDisplayNameMap.put("resources", "group.names.resource.management.issues");
    packageGroupDisplayNameMap.put("security", "group.names.security.issues");
    packageGroupDisplayNameMap.put("serialization", "group.names.serialization.issues");
    packageGroupDisplayNameMap.put("style", "group.names.code.style.issues");
    packageGroupDisplayNameMap.put("threading", "group.names.threading.issues");
    packageGroupDisplayNameMap.put("visibility", "group.names.visibility.issues");
  }

  private GroupDisplayNameUtil() {
  }

  public static String getGroupDisplayName(Class aClass) {
    final Package thisPackage = aClass.getPackage();
    assert thisPackage != null : "need package to determine group display name";
    final String name = thisPackage.getName();
    assert name != null :
      "inspection has default package, group display name cannot be determined";
    final int index = name.lastIndexOf('.');
    final String key = name.substring(index + 1);
    final String groupDisplayName = packageGroupDisplayNameMap.get(key);
    assert groupDisplayName != null : "No display name found for " + key;
    return InspectionsBundle.message(groupDisplayName);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy