Class 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 Detail

      • M_PARAMETER_TYPES

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

        public static final long M_PARAMETER_NAMES
        Method names contain parameter names. e.g. foo(index)
        See Also:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • M_EXCEPTIONS

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

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

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

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

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

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

        public static final long I_POST_QUALIFIED
        Type names are post qualified. e.g. { ... } - java.util.Map
        See Also:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • F_FULLY_QUALIFIED

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

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

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

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

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

        public static final long T_TYPE_PARAMETERS
        Type names contain type parameters. e.g. Map<S, T>
        See Also:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • CF_QUALIFIED

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

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

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

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

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

        public static final long P_POST_QUALIFIED
        Package names are post qualified. e.g. java.util - MyProject/src
        See Also:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • F_CATEGORY

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

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

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

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

        public static final long ALL_FULLY_QUALIFIED
        Qualify all elements
      • ALL_POST_QUALIFIED

        public static final long ALL_POST_QUALIFIED
        Post qualify all elements
      • ALL_DEFAULT

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

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

        public static final long DEFAULT_POST_QUALIFIED
        Default post qualify options (All except Root and Package)
      • 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:
        Constant Field Values
      • DEFAULT_PACKAGE

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

      • 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