
001package org.hl7.fhir.r5.utils; 002 003import java.util.Comparator; 004 005import org.hl7.fhir.r5.model.CanonicalResource; 006import org.hl7.fhir.utilities.MarkedToMoveToAdjunctPackage; 007 008@MarkedToMoveToAdjunctPackage 009public class ResourceSorters { 010 011 public static class CanonicalResourceSortByUrl implements Comparator<CanonicalResource> { 012 013 @Override 014 public int compare(CanonicalResource arg0, CanonicalResource arg1) { 015 if (arg0.getUrl() != null && arg1.getUrl() != null) { 016 return arg0.getUrl().compareTo(arg1.getUrl()); 017 } else if (arg1.getUrl() != null) { 018 return -1; 019 } else if (arg0.getUrl() != null) { 020 return 1; 021 } else { 022 return 0; 023 } 024 } 025 026 } 027 028 public static class CanonicalResourceSortByTypeId implements Comparator<CanonicalResource> { 029 030 @Override 031 public int compare(CanonicalResource arg0, CanonicalResource arg1) { 032 int ret = arg0.fhirType().compareTo(arg1.fhirType()); 033 if (ret == 0) { 034 ret = arg0.getId().compareTo(arg1.getId()); 035 } 036 return ret; 037 } 038 039 } 040 041 042}