@Override public int compare(final AbstractEntityProviderModel<T> modelA, final AbstractEntityProviderModel<T> modelB) { final int distance = compareTypeDistances(modelA.providedType(), modelB.providedType()); if (distance != 0) { return distance; } final int mediaTypeComparison = getMediaTypeDistance(wantedMediaType, modelA.declaredTypes()) - getMediaTypeDistance(wantedMediaType, modelB.declaredTypes()); if (mediaTypeComparison != 0) { return mediaTypeComparison; } if (modelA.isCustom() ^ modelB.isCustom()) { return (modelA.isCustom()) ? -1 : 1; } return 0; }
@Override public int compare(final AbstractEntityProviderModel<T> modelA, final AbstractEntityProviderModel<T> modelB) { final int distance = compareTypeDistances(modelA.providedType(), modelB.providedType()); if (distance != 0) { return distance; } final int mediaTypeComparison = getMediaTypeDistance(wantedMediaType, modelA.declaredTypes()) - getMediaTypeDistance(wantedMediaType, modelB.declaredTypes()); if (mediaTypeComparison != 0) { return mediaTypeComparison; } if (modelA.isCustom() ^ modelB.isCustom()) { return (modelA.isCustom()) ? -1 : 1; } return 0; }
@Override public int compare(final AbstractEntityProviderModel<T> modelA, final AbstractEntityProviderModel<T> modelB) { final int distance = compareTypeDistances(modelA.providedType(), modelB.providedType()); if (distance != 0) { return distance; } final int mediaTypeComparison = getMediaTypeDistance(wantedMediaType, modelA.declaredTypes()) - getMediaTypeDistance(wantedMediaType, modelB.declaredTypes()); if (mediaTypeComparison != 0) { return mediaTypeComparison; } if (modelA.isCustom() ^ modelB.isCustom()) { return (modelA.isCustom()) ? -1 : 1; } return 0; }
@Override public int compare(final AbstractEntityProviderModel<T> modelA, final AbstractEntityProviderModel<T> modelB) { final int distance = compareTypeDistances(modelA.providedType(), modelB.providedType()); if (distance != 0) { return distance; } final int mediaTypeComparison = getMediaTypeDistance(wantedMediaType, modelA.declaredTypes()) - getMediaTypeDistance(wantedMediaType, modelB.declaredTypes()); if (mediaTypeComparison != 0) { return mediaTypeComparison; } if (modelA.isCustom() ^ modelB.isCustom()) { return (modelA.isCustom()) ? -1 : 1; } return 0; }
@Override public int compare(final AbstractEntityProviderModel<T> modelA, final AbstractEntityProviderModel<T> modelB) { final int distance = compareTypeDistances(modelA.providedType(), modelB.providedType()); if (distance != 0) { return distance; } final int mediaTypeComparison = getMediaTypeDistance(wantedMediaType, modelA.declaredTypes()) - getMediaTypeDistance(wantedMediaType, modelB.declaredTypes()); if (mediaTypeComparison != 0) { return mediaTypeComparison; } if (modelA.isCustom() ^ modelB.isCustom()) { return (modelA.isCustom()) ? -1 : 1; } return 0; }
@Override public int compare(final AbstractEntityProviderModel<T> modelA, final AbstractEntityProviderModel<T> modelB) { final int distance = compareTypeDistances(modelA.providedType(), modelB.providedType()); if (distance != 0) { return distance; } final int mediaTypeComparison = getMediaTypeDistance(wantedMediaType, modelA.declaredTypes()) - getMediaTypeDistance(wantedMediaType, modelB.declaredTypes()); if (mediaTypeComparison != 0) { return mediaTypeComparison; } if (modelA.isCustom() ^ modelB.isCustom()) { return (modelA.isCustom()) ? -1 : 1; } return 0; }
@Override public int compare(final AbstractEntityProviderModel<T> modelA, final AbstractEntityProviderModel<T> modelB) { final int distance = compareTypeDistances(modelA.providedType(), modelB.providedType()); if (distance != 0) { return distance; } final int mediaTypeComparison = getMediaTypeDistance(wantedMediaType, modelA.declaredTypes()) - getMediaTypeDistance(wantedMediaType, modelB.declaredTypes()); if (mediaTypeComparison != 0) { return mediaTypeComparison; } if (modelA.isCustom() ^ modelB.isCustom()) { return (modelA.isCustom()) ? -1 : 1; } return 0; }