MCPcopy Create free account
hub / github.com/PCGen/pcgen / compare

Method compare

code/src/java/pcgen/core/DataSet.java:441–496  ·  view source on GitHub ↗
(Race r1, Race r2)

Source from the content-addressed store, hash-verified

439 {
440
441 @Override
442 public int compare(Race r1, Race r2)
443 {
444 final int BEFORE = -1;
445 final int AFTER = 1;
446
447 if (r1 == r2)
448 {
449 return 0;
450 }
451
452 boolean unselected1 = r1.isUnselected();
453 boolean unselected2 = r2.isUnselected();
454 if (unselected1 && !unselected2)
455 {
456 return BEFORE;
457 }
458 if (!unselected1 && unselected2)
459 {
460 return AFTER;
461 }
462
463 final String PC_TYPE = "PC";
464 if (r1.isType(PC_TYPE) && !r2.isType(PC_TYPE))
465 {
466 return BEFORE;
467 }
468 if (!r1.isType(PC_TYPE) && r2.isType(PC_TYPE))
469 {
470 return AFTER;
471 }
472
473 final String HUMANOID = "Humanoid";
474 if (r1.isType(HUMANOID) && !r2.isType(HUMANOID))
475 {
476 return BEFORE;
477 }
478 if (!r1.isType(HUMANOID) && r2.isType(HUMANOID))
479 {
480 return AFTER;
481 }
482
483 // Check sort keys
484 String key1 = r1.get(StringKey.SORT_KEY);
485 if (key1 == null)
486 {
487 key1 = r1.getDisplayName();
488 }
489 String key2 = r2.get(StringKey.SORT_KEY);
490 if (key2 == null)
491 {
492 key2 = r2.getDisplayName();
493 }
494 final Collator collator = Collator.getInstance();
495 return collator.compare(key1, key2);
496 }
497
498 }

Callers 1

compareMethod · 0.45

Calls 5

isUnselectedMethod · 0.80
isTypeMethod · 0.65
getMethod · 0.65
getDisplayNameMethod · 0.65
getInstanceMethod · 0.45

Tested by

no test coverage detected