|
Lines 1-5
Link Here
|
| 1 |
package org.eclipse.jdt.internal.ui.viewsupport; |
1 |
package org.eclipse.jdt.internal.ui.viewsupport; |
| 2 |
|
2 |
|
|
|
3 |
import java.util.ArrayList; |
| 4 |
|
| 3 |
import org.eclipse.core.runtime.IAdaptable; |
5 |
import org.eclipse.core.runtime.IAdaptable; |
| 4 |
|
6 |
|
| 5 |
import org.eclipse.jface.preference.IPreferenceStore; |
7 |
import org.eclipse.jface.preference.IPreferenceStore; |
|
Lines 210-215
Link Here
|
| 210 |
public final static int P_COMPRESSED= 1 << 29; |
212 |
public final static int P_COMPRESSED= 1 << 29; |
| 211 |
|
213 |
|
| 212 |
/** |
214 |
/** |
|
|
215 |
* Package prefixes are removed. |
| 216 |
* e.g. <code>org.eclipse.jdt</code> becomes <code>jdt</code> |
| 217 |
*/ |
| 218 |
public final static int P_PREFIX_REMOVE= 1 << 30; |
| 219 |
|
| 220 |
/** |
| 213 |
* Qualify all elements |
221 |
* Qualify all elements |
| 214 |
*/ |
222 |
*/ |
| 215 |
public final static int ALL_FULLY_QUALIFIED= F_FULLY_QUALIFIED | M_FULLY_QUALIFIED | I_FULLY_QUALIFIED | T_FULLY_QUALIFIED | D_QUALIFIED | CF_QUALIFIED | CU_QUALIFIED | P_QUALIFIED | ROOT_QUALIFIED; |
223 |
public final static int ALL_FULLY_QUALIFIED= F_FULLY_QUALIFIED | M_FULLY_QUALIFIED | I_FULLY_QUALIFIED | T_FULLY_QUALIFIED | D_QUALIFIED | CF_QUALIFIED | CU_QUALIFIED | P_QUALIFIED | ROOT_QUALIFIED; |
|
Lines 247-252
Link Here
|
| 247 |
private static String fgPkgNamePostfix; |
255 |
private static String fgPkgNamePostfix; |
| 248 |
private static int fgPkgNameChars; |
256 |
private static int fgPkgNameChars; |
| 249 |
private static int fgPkgNameLength; |
257 |
private static int fgPkgNameLength; |
|
|
258 |
|
| 259 |
/* |
| 260 |
* Package prefix removal |
| 261 |
*/ |
| 262 |
private static String fgPkgPrefixList; |
| 263 |
private static String[] fgPkgPrefixes; |
| 264 |
private static int fgPkgPrefixLength; |
| 250 |
|
265 |
|
| 251 |
private JavaElementLabels() { |
266 |
private JavaElementLabels() { |
| 252 |
} |
267 |
} |
|
Lines 347-353
Link Here
|
| 347 |
|
362 |
|
| 348 |
// qualification |
363 |
// qualification |
| 349 |
if (getFlag(flags, M_FULLY_QUALIFIED)) { |
364 |
if (getFlag(flags, M_FULLY_QUALIFIED)) { |
| 350 |
getTypeLabel(method.getDeclaringType(), T_FULLY_QUALIFIED | (flags & P_COMPRESSED), buf); |
365 |
getTypeLabel(method.getDeclaringType(), T_FULLY_QUALIFIED | (flags & (P_COMPRESSED | P_PREFIX_REMOVE)), buf); |
| 351 |
buf.append('.'); |
366 |
buf.append('.'); |
| 352 |
} |
367 |
} |
| 353 |
|
368 |
|
|
Lines 399-405
Link Here
|
| 399 |
// post qualification |
414 |
// post qualification |
| 400 |
if (getFlag(flags, M_POST_QUALIFIED)) { |
415 |
if (getFlag(flags, M_POST_QUALIFIED)) { |
| 401 |
buf.append(CONCAT_STRING); |
416 |
buf.append(CONCAT_STRING); |
| 402 |
getTypeLabel(method.getDeclaringType(), T_FULLY_QUALIFIED | (flags & P_COMPRESSED), buf); |
417 |
getTypeLabel(method.getDeclaringType(), T_FULLY_QUALIFIED | (flags & (P_COMPRESSED | P_PREFIX_REMOVE)), buf); |
| 403 |
} |
418 |
} |
| 404 |
|
419 |
|
| 405 |
} catch (JavaModelException e) { |
420 |
} catch (JavaModelException e) { |
|
Lines 419-425
Link Here
|
| 419 |
|
434 |
|
| 420 |
// qualification |
435 |
// qualification |
| 421 |
if (getFlag(flags, F_FULLY_QUALIFIED)) { |
436 |
if (getFlag(flags, F_FULLY_QUALIFIED)) { |
| 422 |
getTypeLabel(field.getDeclaringType(), T_FULLY_QUALIFIED | (flags & P_COMPRESSED), buf); |
437 |
getTypeLabel(field.getDeclaringType(), T_FULLY_QUALIFIED | (flags & (P_COMPRESSED | P_PREFIX_REMOVE)), buf); |
| 423 |
buf.append('.'); |
438 |
buf.append('.'); |
| 424 |
} |
439 |
} |
| 425 |
buf.append(field.getElementName()); |
440 |
buf.append(field.getElementName()); |
|
Lines 432-438
Link Here
|
| 432 |
// post qualification |
447 |
// post qualification |
| 433 |
if (getFlag(flags, F_POST_QUALIFIED)) { |
448 |
if (getFlag(flags, F_POST_QUALIFIED)) { |
| 434 |
buf.append(CONCAT_STRING); |
449 |
buf.append(CONCAT_STRING); |
| 435 |
getTypeLabel(field.getDeclaringType(), T_FULLY_QUALIFIED | (flags & P_COMPRESSED), buf); |
450 |
getTypeLabel(field.getDeclaringType(), T_FULLY_QUALIFIED | (flags & (P_COMPRESSED | P_PREFIX_REMOVE)), buf); |
| 436 |
} |
451 |
} |
| 437 |
|
452 |
|
| 438 |
} catch (JavaModelException e) { |
453 |
} catch (JavaModelException e) { |
|
Lines 446-452
Link Here
|
| 446 |
public static void getInitializerLabel(IInitializer initializer, int flags, StringBuffer buf) { |
461 |
public static void getInitializerLabel(IInitializer initializer, int flags, StringBuffer buf) { |
| 447 |
// qualification |
462 |
// qualification |
| 448 |
if (getFlag(flags, I_FULLY_QUALIFIED)) { |
463 |
if (getFlag(flags, I_FULLY_QUALIFIED)) { |
| 449 |
getTypeLabel(initializer.getDeclaringType(), T_FULLY_QUALIFIED | (flags ^ P_COMPRESSED), buf); |
464 |
getTypeLabel(initializer.getDeclaringType(), T_FULLY_QUALIFIED | (flags ^ (P_COMPRESSED | P_PREFIX_REMOVE)), buf); |
| 450 |
buf.append('.'); |
465 |
buf.append('.'); |
| 451 |
} |
466 |
} |
| 452 |
buf.append(JavaUIMessages.getString("JavaElementLabels.initializer")); //$NON-NLS-1$ |
467 |
buf.append(JavaUIMessages.getString("JavaElementLabels.initializer")); //$NON-NLS-1$ |
|
Lines 454-460
Link Here
|
| 454 |
// post qualification |
469 |
// post qualification |
| 455 |
if (getFlag(flags, I_POST_QUALIFIED)) { |
470 |
if (getFlag(flags, I_POST_QUALIFIED)) { |
| 456 |
buf.append(CONCAT_STRING); |
471 |
buf.append(CONCAT_STRING); |
| 457 |
getTypeLabel(initializer.getDeclaringType(), T_FULLY_QUALIFIED | (flags & P_COMPRESSED), buf); |
472 |
getTypeLabel(initializer.getDeclaringType(), T_FULLY_QUALIFIED | (flags & (P_COMPRESSED | P_PREFIX_REMOVE)), buf); |
| 458 |
} |
473 |
} |
| 459 |
} |
474 |
} |
| 460 |
|
475 |
|
|
Lines 465-471
Link Here
|
| 465 |
if (getFlag(flags, T_FULLY_QUALIFIED)) { |
480 |
if (getFlag(flags, T_FULLY_QUALIFIED)) { |
| 466 |
IPackageFragment pack= type.getPackageFragment(); |
481 |
IPackageFragment pack= type.getPackageFragment(); |
| 467 |
if (!pack.isDefaultPackage()) { |
482 |
if (!pack.isDefaultPackage()) { |
| 468 |
getPackageFragmentLabel(pack, (flags & P_COMPRESSED), buf); |
483 |
getPackageFragmentLabel(pack, (flags & (P_COMPRESSED | P_PREFIX_REMOVE)), buf); |
| 469 |
buf.append('.'); |
484 |
buf.append('.'); |
| 470 |
} |
485 |
} |
| 471 |
buf.append(JavaModelUtil.getTypeQualifiedName(type)); |
486 |
buf.append(JavaModelUtil.getTypeQualifiedName(type)); |
|
Lines 479-487
Link Here
|
| 479 |
buf.append(CONCAT_STRING); |
494 |
buf.append(CONCAT_STRING); |
| 480 |
IType declaringType= type.getDeclaringType(); |
495 |
IType declaringType= type.getDeclaringType(); |
| 481 |
if (declaringType != null) { |
496 |
if (declaringType != null) { |
| 482 |
getTypeLabel(declaringType, T_FULLY_QUALIFIED | (flags & P_COMPRESSED), buf); |
497 |
getTypeLabel(declaringType, T_FULLY_QUALIFIED | (flags & (P_COMPRESSED | P_PREFIX_REMOVE)), buf); |
| 483 |
} else { |
498 |
} else { |
| 484 |
getPackageFragmentLabel(type.getPackageFragment(), (flags & P_COMPRESSED), buf); |
499 |
getPackageFragmentLabel(type.getPackageFragment(), (flags & (P_COMPRESSED | P_PREFIX_REMOVE)), buf); |
| 485 |
} |
500 |
} |
| 486 |
} |
501 |
} |
| 487 |
} |
502 |
} |
|
Lines 558-566
Link Here
|
| 558 |
getPackageFragmentRootLabel((IPackageFragmentRoot) pack.getParent(), ROOT_QUALIFIED, buf); |
573 |
getPackageFragmentRootLabel((IPackageFragmentRoot) pack.getParent(), ROOT_QUALIFIED, buf); |
| 559 |
buf.append('/'); |
574 |
buf.append('/'); |
| 560 |
} |
575 |
} |
|
|
576 |
refreshPackagePrefixList(); |
| 561 |
refreshPackageNamePattern(); |
577 |
refreshPackageNamePattern(); |
| 562 |
if (pack.isDefaultPackage()) { |
578 |
if (pack.isDefaultPackage()) { |
| 563 |
buf.append(JavaUIMessages.getString("JavaElementLabels.default_package")); //$NON-NLS-1$ |
579 |
buf.append(JavaUIMessages.getString("JavaElementLabels.default_package")); //$NON-NLS-1$ |
|
|
580 |
} else if (getFlag(flags, P_PREFIX_REMOVE) && fgPkgPrefixLength > 0) { |
| 581 |
String name= pack.getElementName(); |
| 582 |
boolean processed = false; |
| 583 |
for (int i= 0; i < fgPkgPrefixLength && !processed; i++) { |
| 584 |
if (name.startsWith(fgPkgPrefixes[i])) { |
| 585 |
buf.append(name.substring(fgPkgPrefixes[i].length())); |
| 586 |
processed= true; |
| 587 |
} |
| 588 |
} |
| 589 |
if (!processed) |
| 590 |
buf.append(name); |
| 564 |
} else if (getFlag(flags, P_COMPRESSED) && fgPkgNameLength >= 0) { |
591 |
} else if (getFlag(flags, P_COMPRESSED) && fgPkgNameLength >= 0) { |
| 565 |
String name= pack.getElementName(); |
592 |
String name= pack.getElementName(); |
| 566 |
int start= 0; |
593 |
int start= 0; |
|
Lines 620-625
Link Here
|
| 620 |
} |
647 |
} |
| 621 |
} |
648 |
} |
| 622 |
|
649 |
|
|
|
650 |
private static void refreshPackagePrefixList() { |
| 651 |
String list= getPkgPrefixListForPackagesView(); |
| 652 |
if (list.equals(fgPkgPrefixList)) |
| 653 |
return; |
| 654 |
else if (list.equals("")) { //$NON-NLS-1$ |
| 655 |
fgPkgPrefixList = ""; //$NON-NLS-1$ |
| 656 |
fgPkgPrefixLength = 0; |
| 657 |
return; |
| 658 |
} |
| 659 |
|
| 660 |
fgPkgPrefixList= list; |
| 661 |
ArrayList prefixList= new ArrayList(); |
| 662 |
int lastPos= 0; |
| 663 |
int pos= 0; |
| 664 |
while ((pos= list.indexOf(',', lastPos)) != -1) { |
| 665 |
String prefix= list.substring(lastPos, pos).trim(); |
| 666 |
if (!prefix.equals("")) { //$NON-NLS-1$ |
| 667 |
if (prefix.endsWith(".")) //$NON-NLS-1$ |
| 668 |
prefixList.add(prefix); |
| 669 |
else |
| 670 |
prefixList.add(prefix + '.'); |
| 671 |
} |
| 672 |
lastPos= pos + 1; |
| 673 |
} |
| 674 |
String prefix= list.substring(lastPos).trim(); |
| 675 |
if (!prefix.equals("")) { //$NON-NLS-1$ |
| 676 |
if (prefix.endsWith(".")) //$NON-NLS-1$ |
| 677 |
prefixList.add(prefix); |
| 678 |
else |
| 679 |
prefixList.add(prefix + '.'); |
| 680 |
} |
| 681 |
|
| 682 |
fgPkgPrefixLength= prefixList.size(); |
| 683 |
fgPkgPrefixes= (String[]) prefixList.toArray(new String[fgPkgPrefixLength]); |
| 684 |
} |
| 685 |
|
| 623 |
private static void refreshPackageNamePattern() { |
686 |
private static void refreshPackageNamePattern() { |
| 624 |
String pattern= getPkgNamePatternForPackagesView(); |
687 |
String pattern= getPkgNamePatternForPackagesView(); |
| 625 |
if (pattern.equals(fgPkgNamePattern)) |
688 |
if (pattern.equals(fgPkgNamePattern)) |
|
Lines 656-660
Link Here
|
| 656 |
if (!store.getBoolean(PreferenceConstants.APPEARANCE_COMPRESS_PACKAGE_NAMES)) |
719 |
if (!store.getBoolean(PreferenceConstants.APPEARANCE_COMPRESS_PACKAGE_NAMES)) |
| 657 |
return ""; //$NON-NLS-1$ |
720 |
return ""; //$NON-NLS-1$ |
| 658 |
return store.getString(PreferenceConstants.APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW); |
721 |
return store.getString(PreferenceConstants.APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW); |
|
|
722 |
} |
| 723 |
|
| 724 |
private static String getPkgPrefixListForPackagesView() { |
| 725 |
IPreferenceStore store= PreferenceConstants.getPreferenceStore(); |
| 726 |
if (!store.getBoolean(PreferenceConstants.APPEARANCE_REMOVE_PACKAGE_PREFIXES)) |
| 727 |
return ""; //$NON-NLS-1$ |
| 728 |
return store.getString(PreferenceConstants.APPEARANCE_PKG_PREFIX_LIST_FOR_PKG_VIEW); |
| 659 |
} |
729 |
} |
| 660 |
} |
730 |
} |