/** * Appends the label for a package fragment to a {@link ColoredString}. Considers the P_* flags. * @param pack The element to render. * @param flags The rendering flags. Flags with names starting with P_' are considered. * @param result The buffer to append the resulting label to. */ public static void getPackageFragmentLabel(IPackageFragment pack, long flags, ColoredString result) { if (getFlag(flags, JavaElementLabels.P_QUALIFIED)) { getPackageFragmentRootLabel((IPackageFragmentRoot) pack.getParent(), JavaElementLabels.ROOT_QUALIFIED, result); result.append('/'); } if (pack.isDefaultPackage()) { result.append(JavaElementLabels.DEFAULT_PACKAGE); } else if (getFlag(flags, JavaElementLabels.P_COMPRESSED)) { StringBuffer buf= new StringBuffer(); JavaElementLabels.getPackageFragmentLabel(pack, JavaElementLabels.P_COMPRESSED, buf); result.append(buf.toString()); } else { result.append(pack.getElementName()); } if (getFlag(flags, JavaElementLabels.P_POST_QUALIFIED)) { int offset= result.length(); result.append(JavaElementLabels.CONCAT_STRING); getPackageFragmentRootLabel((IPackageFragmentRoot) pack.getParent(), JavaElementLabels.ROOT_QUALIFIED, result); if (getFlag(flags, COLORIZE)) { result.colorize(offset, result.length() - offset, QUALIFIER_STYLE); } } }
root= JavaModelUtil.getPackageFragmentRoot(element); if (root != null && getFlag(flags, JavaElementLabels.PREPEND_ROOT_PATH)) { getPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED, result); result.append(JavaElementLabels.CONCAT_STRING); break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: getPackageFragmentRootLabel((IPackageFragmentRoot) element, flags, result); break; case IJavaElement.IMPORT_CONTAINER: int offset= result.length(); result.append(JavaElementLabels.CONCAT_STRING); getPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED, result);