Home / Class/ ItemMetadataComparator Class — spring-boot Architecture

ItemMetadataComparator Class — spring-boot Architecture

Architecture documentation for the ItemMetadataComparator class in JsonConverter.java from the spring-boot codebase.

Entity Profile

Relationship Graph

Source Code

configuration-metadata/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/metadata/JsonConverter.java lines 188–209

	private static final class ItemMetadataComparator implements Comparator<ItemMetadata> {

		private static final Comparator<ItemMetadata> GROUP = Comparator.comparing(ItemMetadata::getName)
			.thenComparing(ItemMetadata::getSourceType, Comparator.nullsFirst(Comparator.naturalOrder()));

		private static final Comparator<ItemMetadata> ITEM = Comparator.comparing(ItemMetadataComparator::isDeprecated)
			.thenComparing(ItemMetadata::getName)
			.thenComparing(ItemMetadata::getSourceType, Comparator.nullsFirst(Comparator.naturalOrder()));

		@Override
		public int compare(ItemMetadata o1, ItemMetadata o2) {
			if (o1.isOfItemType(ItemType.GROUP)) {
				return GROUP.compare(o1, o2);
			}
			return ITEM.compare(o1, o2);
		}

		private static boolean isDeprecated(ItemMetadata item) {
			return item.getDeprecation() != null;
		}

	}

Domain

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free