/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.sa.asset; import java.util.Collections; import java.util.Comparator; import java.util.List; import com.emc.sa.util.StringComparator; import com.emc.vipr.model.catalog.AssetOption; public class AssetOptionsUtils { public static void sortOptionsByLabel(List<AssetOption> options) { sortOptionsByLabel(options, false); } public static void sortOptionsByLabel(List<AssetOption> options, boolean descending) { sortOptionsByLabel(options, new StringComparator(false, descending)); } public static void sortOptionsByLabel(List<AssetOption> options, final Comparator<String> labelComparator) { Collections.sort(options, new Comparator<AssetOption>() { @Override public int compare(AssetOption a, AssetOption b) { return labelComparator.compare(a.value, b.value); } }); } public static void sortOptionsByKey(List<AssetOption> options) { sortOptionsByKey(options, false); } public static void sortOptionsByKey(List<AssetOption> options, boolean descending) { sortOptionsByKey(options, new StringComparator(false, descending)); } public static void sortOptionsByKey(List<AssetOption> options, final Comparator<String> valueComparator) { Collections.sort(options, new Comparator<AssetOption>() { @Override public int compare(AssetOption a, AssetOption b) { return valueComparator.compare(a.key, b.key); } }); } }