Class JavaElementLabels

java.lang.Object
org.eclipse.jdt.ui.JavaElementLabels

public class JavaElementLabels extends Object
JavaElementLabels provides helper methods to render names of Java elements.
Since:
3.1
Restriction:
This class is not intended to be subclassed by clients.
Restriction:
This class is not intended to be instantiated by clients.
  • Field Details

    • M_PARAMETER_TYPES

      public static final long M_PARAMETER_TYPES
      Method names contain parameter types. e.g. foo(int)
      See Also:
    • M_PARAMETER_NAMES

      public static final long M_PARAMETER_NAMES
      Method names contain parameter names. e.g. foo(index)
      See Also:
    • M_PARAMETER_ANNOTATIONS

      public static final long M_PARAMETER_ANNOTATIONS
      Method labels contain parameter annotations. E.g. foo(@NonNull int). This flag is only valid if M_PARAMETER_NAMES or M_PARAMETER_TYPES is also set.
      Since:
      3.8
      See Also:
    • M_PRE_TYPE_PARAMETERS

      public static final long M_PRE_TYPE_PARAMETERS
      Method names contain type parameters prepended. e.g. <A> foo(A index)
      See Also:
    • M_APP_TYPE_PARAMETERS

      public static final long M_APP_TYPE_PARAMETERS
      Method names contain type parameters appended. e.g. foo(A index) <A>
      See Also:
    • M_EXCEPTIONS

      public static final long M_EXCEPTIONS
      Method names contain thrown exceptions. e.g. foo throws IOException
      See Also:
    • M_APP_RETURNTYPE

      public static final long M_APP_RETURNTYPE
      Method names contain return type (appended) e.g. foo : int
      See Also:
    • M_PRE_RETURNTYPE

      public static final long M_PRE_RETURNTYPE
      Method names contain return type (appended) e.g. int foo
      See Also:
    • M_FULLY_QUALIFIED

      public static final long M_FULLY_QUALIFIED
      Method names are fully qualified. e.g. java.util.Vector.size
      See Also:
    • M_POST_QUALIFIED

      public static final long M_POST_QUALIFIED
      Method names are post qualified. e.g. size - java.util.Vector
      See Also:
    • I_FULLY_QUALIFIED

      public static final long I_FULLY_QUALIFIED
      Initializer names are fully qualified. e.g. java.util.Vector.{ ... }
      See Also:
    • I_POST_QUALIFIED

      public static final long I_POST_QUALIFIED
      Type names are post qualified. e.g. { ... } - java.util.Map
      See Also:
    • F_APP_TYPE_SIGNATURE

      public static final long F_APP_TYPE_SIGNATURE
      Field names contain the declared type (appended) e.g. fHello : int
      See Also:
    • F_PRE_TYPE_SIGNATURE

      public static final long F_PRE_TYPE_SIGNATURE
      Field names contain the declared type (prepended) e.g. int fHello
      See Also:
    • F_FULLY_QUALIFIED

      public static final long F_FULLY_QUALIFIED
      Fields names are fully qualified. e.g. java.lang.System.out
      See Also:
    • F_POST_QUALIFIED

      public static final long F_POST_QUALIFIED
      Fields names are post qualified. e.g. out - java.lang.System
      See Also:
    • T_FULLY_QUALIFIED

      public static final long T_FULLY_QUALIFIED
      Type names are fully qualified. e.g. java.util.Map.Entry
      See Also:
    • T_CONTAINER_QUALIFIED

      public static final long T_CONTAINER_QUALIFIED
      Type names are type container qualified. e.g. Map.Entry
      See Also:
    • T_POST_QUALIFIED

      public static final long T_POST_QUALIFIED
      Type names are post qualified. e.g. Entry - java.util.Map
      See Also:
    • T_TYPE_PARAMETERS

      public static final long T_TYPE_PARAMETERS
      Type names contain type parameters. e.g. Map<S, T>
      See Also:
    • TP_POST_QUALIFIED

      public static final long TP_POST_QUALIFIED
      Type parameters are post qualified. e.g. K - java.util.Map.Entry
      Since:
      3.5
      See Also:
    • D_QUALIFIED

      public static final long D_QUALIFIED
      Declarations (import container / declaration, package declaration) are qualified. e.g. java.util.Vector.class/import container
      See Also:
    • D_POST_QUALIFIED

      public static final long D_POST_QUALIFIED
      Declarations (import container / declaration, package declaration) are post qualified. e.g. import container - java.util.Vector.class
      See Also:
    • CF_QUALIFIED

      public static final long CF_QUALIFIED
      Class file names are fully qualified. e.g. java.util.Vector.class
      See Also:
    • CF_POST_QUALIFIED

      public static final long CF_POST_QUALIFIED
      Class file names are post qualified. e.g. Vector.class - java.util
      See Also:
    • CU_QUALIFIED

      public static final long CU_QUALIFIED
      Compilation unit names are fully qualified. e.g. java.util.Vector.java
      See Also:
    • CU_POST_QUALIFIED

      public static final long CU_POST_QUALIFIED
      Compilation unit names are post qualified. e.g. Vector.java - java.util
      See Also:
    • P_QUALIFIED

      public static final long P_QUALIFIED
      Package names are qualified. e.g. MyProject/src/java.util
      See Also:
    • P_POST_QUALIFIED

      public static final long P_POST_QUALIFIED
      Package names are post qualified. e.g. java.util - MyProject/src
      See Also:
    • P_COMPRESSED

      public static final long P_COMPRESSED
      Package names are abbreviated if PreferenceConstants.APPEARANCE_ABBREVIATE_PACKAGE_NAMES is true and/or compressed if PreferenceConstants.APPEARANCE_COMPRESS_PACKAGE_NAMES is true.
      See Also:
    • ROOT_VARIABLE

      public static final long ROOT_VARIABLE
      Package Fragment Roots contain variable name if from a variable. e.g. JRE_LIB - c:\java\lib\rt.jar
      See Also:
    • ROOT_QUALIFIED

      public static final long ROOT_QUALIFIED
      Package Fragment Roots contain the project name if not an archive (prepended). e.g. MyProject/src
      See Also:
    • ROOT_POST_QUALIFIED

      public static final long ROOT_POST_QUALIFIED
      Package Fragment Roots contain the project name if not an archive (appended). e.g. src - MyProject
      See Also:
    • APPEND_ROOT_PATH

      public static final long APPEND_ROOT_PATH
      Add root path to all elements except Package Fragment Roots and Java projects. e.g. java.lang.Vector - C:\java\lib\rt.jar Option only applies to getElementLabel
      See Also:
    • PREPEND_ROOT_PATH

      public static final long PREPEND_ROOT_PATH
      Add root path to all elements except Package Fragment Roots and Java projects. e.g. C:\java\lib\rt.jar - java.lang.Vector Option only applies to getElementLabel
      See Also:
    • REFERENCED_ROOT_POST_QUALIFIED

      public static final long REFERENCED_ROOT_POST_QUALIFIED
      Post qualify referenced package fragment roots. For example jdt.jar - org.eclipse.jdt.ui if the jar is referenced from another project.
      See Also:
    • USE_RESOLVED

      public static final long USE_RESOLVED
      Specifies to use the resolved information of a IType, IMethod or IField. See IType.isResolved(). If resolved information is available, types will be rendered with type parameters of the instantiated type. Resolved methods render with the parameter types of the method instance. Vector<String>.get(String)
      See Also:
    • COLORIZE

      public static final long COLORIZE
      Specifies to apply color styles to labels. This flag only applies to methods taking or returning a StyledString.
      Since:
      3.4
      See Also:
    • F_CATEGORY

      public static final long F_CATEGORY
      Prepend first category (if any) to field.
      Since:
      3.2
      See Also:
    • M_CATEGORY

      public static final long M_CATEGORY
      Prepend first category (if any) to method.
      Since:
      3.2
      See Also:
    • T_CATEGORY

      public static final long T_CATEGORY
      Prepend first category (if any) to type.
      Since:
      3.2
      See Also:
    • ALL_CATEGORY

      public static final long ALL_CATEGORY
      Show category for all elements.
      Since:
      3.2
      See Also:
    • ALL_FULLY_QUALIFIED

      public static final long ALL_FULLY_QUALIFIED
      Qualify all elements
      See Also:
    • ALL_POST_QUALIFIED

      public static final long ALL_POST_QUALIFIED
      Post qualify all elements
      See Also:
    • ALL_DEFAULT

      public static final long ALL_DEFAULT
      Default options (M_PARAMETER_TYPES, M_APP_TYPE_PARAMETERS & T_TYPE_PARAMETERS enabled)
      See Also:
    • DEFAULT_QUALIFIED

      public static final long DEFAULT_QUALIFIED
      Default qualify options (All except Root and Package)
      See Also:
    • DEFAULT_POST_QUALIFIED

      public static final long DEFAULT_POST_QUALIFIED
      Default post qualify options (All except Root and Package)
      See Also:
    • CONCAT_STRING

      public static final String CONCAT_STRING
      User-readable string for separating post qualified names (e.g. " - ").
    • COMMA_STRING

      public static final String COMMA_STRING
      User-readable string for separating list items (e.g. ", ").
    • DECL_STRING

      public static final String DECL_STRING
      User-readable string for separating the return type (e.g. " : ").
    • CATEGORY_SEPARATOR_STRING

      public static final String CATEGORY_SEPARATOR_STRING
      User-readable string for concatenating categories (e.g. " ").
      Since:
      3.5
    • ELLIPSIS_STRING

      public static final String ELLIPSIS_STRING
      User-readable string for ellipsis ("...").
      See Also:
    • DEFAULT_PACKAGE

      public static final String DEFAULT_PACKAGE
      User-readable string for the default package name (e.g. "(default package)").
  • Method Details

    • getTextLabel

      public static String getTextLabel(Object obj, long flags)
      Returns the label of the given object. The object must be of type IJavaElement or adapt to IWorkbenchAdapter. If the element type is not known, the empty string is returned. The returned label is BiDi-processed with TextProcessor.process(String, String).
      Parameters:
      obj - object to get the label for
      flags - the rendering flags
      Returns:
      the label or the empty string if the object type is not supported
    • getStyledTextLabel

      public static StyledString getStyledTextLabel(Object obj, long flags)
      Returns the styled label of the given object. The object must be of type IJavaElement or adapt to IWorkbenchAdapter. If the element type is not known, the empty string is returned. The returned label is BiDi-processed with TextProcessor.process(String, String).
      Parameters:
      obj - object to get the label for
      flags - the rendering flags
      Returns:
      the label or the empty string if the object type is not supported
      Since:
      3.4
    • getElementLabel

      public static String getElementLabel(IJavaElement element, long flags)
      Returns the label for a Java element with the flags as defined by this class.
      Parameters:
      element - the element to render
      flags - the rendering flags
      Returns:
      the label of the Java element
    • getStyledElementLabel

      public static StyledString getStyledElementLabel(IJavaElement element, long flags)
      Returns the styled label for a Java element with the flags as defined by this class.
      Parameters:
      element - the element to render
      flags - the rendering flags
      Returns:
      the label of the Java element
      Since:
      3.4
    • getElementLabel

      public static void getElementLabel(IJavaElement element, long flags, StringBuffer buf)
      Returns the label for a Java element with the flags as defined by this class.
      Parameters:
      element - the element to render
      flags - the rendering flags
      buf - the buffer to append the resulting label to
    • getElementLabel

      public static void getElementLabel(IJavaElement element, long flags, StyledString result)
      Returns the styled label for a Java element with the flags as defined by this class.
      Parameters:
      element - the element to render
      flags - the rendering flags
      result - the buffer to append the resulting label to
      Since:
      3.4
    • getMethodLabel

      public static void getMethodLabel(IMethod method, long flags, StringBuffer buf)
      Appends the label for a method to a StringBuffer. Considers the M_* flags.
      Parameters:
      method - the element to render
      flags - the rendering flags. Flags with names starting with 'M_' are considered.
      buf - the buffer to append the resulting label to
    • getMethodLabel

      public static void getMethodLabel(IMethod method, long flags, StyledString result)
      Appends the label for a method to a StyledString. Considers the M_* flags.
      Parameters:
      method - the element to render
      flags - the rendering flags. Flags with names starting with 'M_' are considered.
      result - the buffer to append the resulting label to
      Since:
      3.4
    • getFieldLabel

      public static void getFieldLabel(IField field, long flags, StringBuffer buf)
      Appends the label for a field to a StringBuffer. Considers the F_* flags.
      Parameters:
      field - the element to render
      flags - the rendering flags. Flags with names starting with 'F_' are considered.
      buf - the buffer to append the resulting label to
    • getFieldLabel

      public static void getFieldLabel(IField field, long flags, StyledString result)
      Appends the style label for a field to a StyledString. Considers the F_* flags.
      Parameters:
      field - the element to render
      flags - the rendering flags. Flags with names starting with 'F_' are considered.
      result - the buffer to append the resulting label to
      Since:
      3.4
    • getLocalVariableLabel

      public static void getLocalVariableLabel(ILocalVariable localVariable, long flags, StringBuffer buf)
      Appends the label for a local variable to a StringBuffer.
      Parameters:
      localVariable - the element to render
      flags - the rendering flags. Flags with names starting with 'F_' are considered.
      buf - the buffer to append the resulting label to
    • getLocalVariableLabel

      public static void getLocalVariableLabel(ILocalVariable localVariable, long flags, StyledString result)
      Appends the styled label for a local variable to a StyledString.
      Parameters:
      localVariable - the element to render
      flags - the rendering flags. Flags with names starting with 'F_' are considered.
      result - the buffer to append the resulting label to
      Since:
      3.4
    • getInitializerLabel

      public static void getInitializerLabel(IInitializer initializer, long flags, StringBuffer buf)
      Appends the label for a initializer to a StringBuffer. Considers the I_* flags.
      Parameters:
      initializer - the element to render
      flags - the rendering flags. Flags with names starting with 'I_' are considered.
      buf - the buffer to append the resulting label to
    • getInitializerLabel

      public static void getInitializerLabel(IInitializer initializer, long flags, StyledString result)
      Appends the label for a initializer to a StyledString. Considers the I_* flags.
      Parameters:
      initializer - the element to render
      flags - the rendering flags. Flags with names starting with 'I_' are considered.
      result - the buffer to append the resulting label to
      Since:
      3.4
    • getTypeLabel

      public static void getTypeLabel(IType type, long flags, StringBuffer buf)
      Appends the label for a type to a StringBuffer. Considers the T_* flags.
      Parameters:
      type - the element to render
      flags - the rendering flags. Flags with names starting with 'T_' are considered.
      buf - the buffer to append the resulting label to
    • getTypeLabel

      public static void getTypeLabel(IType type, long flags, StyledString result)
      Appends the label for a type to a StyledString. Considers the T_* flags.
      Parameters:
      type - the element to render
      flags - the rendering flags. Flags with names starting with 'T_' are considered.
      result - the buffer to append the resulting label to
      Since:
      3.4
    • getTypeParameterLabel

      public static void getTypeParameterLabel(ITypeParameter typeParameter, long flags, StringBuffer buf)
      Appends the label for a type parameter to a StringBuffer. Considers the TP_* flags.
      Parameters:
      typeParameter - the element to render
      flags - the rendering flags. Flags with names starting with 'TP_' are considered.
      buf - the buffer to append the resulting label to
      Since:
      3.5
    • getTypeParameterLabel

      public static void getTypeParameterLabel(ITypeParameter typeParameter, long flags, StyledString result)
      Appends the label for a type parameter to a StyledString. Considers the TP_* flags.
      Parameters:
      typeParameter - the element to render
      flags - the rendering flags. Flags with names starting with 'TP_' are considered.
      result - the buffer to append the resulting label to
      Since:
      3.5
    • getDeclarationLabel

      public static void getDeclarationLabel(IJavaElement declaration, long flags, StringBuffer buf)
      Appends the label for a import container, import or package declaration to a StringBuffer. Considers the D_* flags.
      Parameters:
      declaration - the element to render
      flags - the rendering flags. Flags with names starting with 'D_' are considered.
      buf - the buffer to append the resulting label to
    • getDeclarationLabel

      public static void getDeclarationLabel(IJavaElement declaration, long flags, StyledString result)
      Appends the label for a import container, import or package declaration to a StyledString. Considers the D_* flags.
      Parameters:
      declaration - the element to render
      flags - the rendering flags. Flags with names starting with 'D_' are considered.
      result - the buffer to append the resulting label to
      Since:
      3.4
    • getClassFileLabel

      public static void getClassFileLabel(IClassFile classFile, long flags, StringBuffer buf)
      Appends the label for a class file to a StringBuffer. Considers the CF_* flags.
      Parameters:
      classFile - the element to render
      flags - the rendering flags. Flags with names starting with 'CF_' are considered.
      buf - the buffer to append the resulting label to
    • getClassFileLabel

      public static void getClassFileLabel(IClassFile classFile, long flags, StyledString result)
      Appends the label for a class file to a StyledString. Considers the CF_* flags.
      Parameters:
      classFile - the element to render
      flags - the rendering flags. Flags with names starting with 'CF_' are considered.
      result - the buffer to append the resulting label to
      Since:
      3.4
    • getCompilationUnitLabel

      public static void getCompilationUnitLabel(ICompilationUnit cu, long flags, StringBuffer buf)
      Appends the label for a compilation unit to a StringBuffer. Considers the CU_* flags.
      Parameters:
      cu - the element to render
      flags - the rendering flags. Flags with names starting with 'CU_' are considered.
      buf - the buffer to append the resulting label to
    • getCompilationUnitLabel

      public static void getCompilationUnitLabel(ICompilationUnit cu, long flags, StyledString result)
      Appends the label for a compilation unit to a StyledString. Considers the CU_* flags.
      Parameters:
      cu - the element to render
      flags - the rendering flags. Flags with names starting with 'CU_' are considered.
      result - the buffer to append the resulting label to
      Since:
      3.4
    • getPackageFragmentLabel

      public static void getPackageFragmentLabel(IPackageFragment pack, long flags, StringBuffer buf)
      Appends the label for a package fragment to a StringBuffer. Considers the P_* flags.
      Parameters:
      pack - the element to render
      flags - the rendering flags. Flags with names starting with P_' are considered.
      buf - the buffer to append the resulting label to
    • getPackageFragmentLabel

      public static void getPackageFragmentLabel(IPackageFragment pack, long flags, StyledString result)
      Appends the label for a package fragment to a StyledString. Considers the P_* flags.
      Parameters:
      pack - the element to render
      flags - the rendering flags. Flags with names starting with P_' are considered.
      result - the buffer to append the resulting label to
      Since:
      3.4
    • getPackageFragmentRootLabel

      public static void getPackageFragmentRootLabel(IPackageFragmentRoot root, long flags, StringBuffer buf)
      Appends the label for a package fragment root to a StringBuffer. Considers the ROOT_* flags.
      Parameters:
      root - the element to render
      flags - the rendering flags. Flags with names starting with ROOT_' are considered.
      buf - the buffer to append the resulting label to
    • getPackageFragmentRootLabel

      public static void getPackageFragmentRootLabel(IPackageFragmentRoot root, long flags, StyledString result)
      Appends the label for a package fragment root to a StyledString. Considers the ROOT_* flags.
      Parameters:
      root - the element to render
      flags - the rendering flags. Flags with names starting with ROOT_' are considered.
      result - the buffer to append the resulting label to
      Since:
      3.4
    • getContainerEntryLabel

      public static String getContainerEntryLabel(IPath containerPath, IJavaProject project) throws JavaModelException
      Returns the label of a classpath container. The returned label is BiDi-processed with TextProcessor.process(String, String).
      Parameters:
      containerPath - the path of the container
      project - the project the container is resolved in
      Returns:
      the label of the classpath container
      Throws:
      JavaModelException - when resolving of the container failed
    • getStyledContainerEntryLabel

      public static StyledString getStyledContainerEntryLabel(IPath containerPath, IJavaProject project)
      Returns the styled label of a classpath container. The returned label is BiDi-processed with TextProcessor.process(String, String).
      Parameters:
      containerPath - the path of the container
      project - the project the container is resolved in
      Returns:
      the label of the classpath container
      Since:
      3.4