Package com.atlassian.bamboo.utils
Class Comparators
- java.lang.Object
-
- com.atlassian.bamboo.utils.Comparators
-
public class Comparators extends Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static @NotNull Comparator<String>getApplicationBuildNumberComparator()static @NotNull com.google.common.collect.Ordering<BambooIdProvider>getBambooIdProviderOrdering()static @NotNull com.google.common.collect.Ordering<ImmutablePlan>getBranchUpdatedDateOrdering()Comparator for sorting by enabled/disabled then updated then created dates of branchesstatic @NotNull Comparator<ResultsSummary>getBuildCompletedDateComparator()static @NotNull com.google.common.collect.Ordering<ResultStatisticsProvider>getBuildDateOrdering()static @NotNull com.google.common.collect.Ordering<DescriptionProvider>getDescriptionProviderOrdering()static @NotNull Comparator<LabelCount>getLabelCountAlphabeticComparator()static @NotNull Comparator<LabelCount>getLabelCountRankComparator()static @NotNull com.google.common.collect.Ordering<com.atlassian.plugin.ModuleDescriptor<?>>getModuleDescriptorNameOrdering()static @NotNull com.google.common.collect.Ordering<NameProvider>getNameProviderCaseInsensitiveOrdering()Do not use this for plans unless you know the plans you are sorting are within the same parent (e.g. same project, or same chain.)static @NotNull com.google.common.collect.Ordering<NameProvider>getNameProviderOrdering()Not that this order is case sensitive.static @NotNull com.google.common.collect.Ordering<ImmutablePlan>getPlanNameProviderCaseInsensitiveOrdering()This method will be slower thangetTopLevelPlanNameProviderCaseInsensitiveOrdering()so consider using that instead.static @NotNull com.google.common.collect.Ordering<ResultsSummary>getPlanNameResultOrdering()static @NotNull com.google.common.collect.Ordering<PlanResultKey>getPlanResultKeyOrdering()static <T extends NameProvider & ProjectIdProvider>
Function<Map<Long,ProjectIdentifier>,Comparator<T>>getProjectAwareRepositoryComparator()static @NotNull com.google.common.collect.Ordering<ResultsSummary>getResultsSummaryNameAndNumberComparator()static @NotNull com.google.common.collect.Ordering<ResultsSummary>getResultsSummaryNumberOrdering()static <T extends ImmutableChain>
@NotNull com.google.common.collect.Ordering<T>getTopLevelPlanNameProviderCaseInsensitiveOrdering()static @NotNull com.google.common.collect.Ordering<VariableDefinitionContext>getVariableDefinitionContextOrdering()static @NotNull com.google.common.collect.Ordering<VariableDefinition>getVariableDefinitionOrdering()static <T extends Comparable<T>>
booleanisGreater(T o1, T o2)static <T> booleanisGreater(T o1, T o2, @NotNull Comparator<T> comparator)static <T> booleanisGreaterOrEqual(T o1, T o2, @NotNull Comparator<T> comparator)static <T> booleanisLesser(T o1, T o2, @NotNull Comparator<T> comparator)static <T> booleanisLesserOrEqual(T o1, T o2, @NotNull Comparator<T> comparator)static intjobStagePlanNameCaseInsensitiveCompare(ImmutableJob o1, ImmutableJob o2)static <T> @NotNull Comparator<T>stringPropertyCaseInsensitiveComparator(@NotNull Class<T> beanClass, @NotNull String propertyName)static <T> @NotNull Comparator<T>stringPropertyComparator(@NotNull Class<T> beanClass, @NotNull String propertyName)
-
-
-
Method Detail
-
getProjectAwareRepositoryComparator
public static <T extends NameProvider & ProjectIdProvider> Function<Map<Long,ProjectIdentifier>,Comparator<T>> getProjectAwareRepositoryComparator()
-
getBuildCompletedDateComparator
@NotNull public static @NotNull Comparator<ResultsSummary> getBuildCompletedDateComparator()
-
getBuildDateOrdering
@NotNull public static @NotNull com.google.common.collect.Ordering<ResultStatisticsProvider> getBuildDateOrdering()
-
getBranchUpdatedDateOrdering
@NotNull public static @NotNull com.google.common.collect.Ordering<ImmutablePlan> getBranchUpdatedDateOrdering()
Comparator for sorting by enabled/disabled then updated then created dates of branches
-
getDescriptionProviderOrdering
@NotNull public static @NotNull com.google.common.collect.Ordering<DescriptionProvider> getDescriptionProviderOrdering()
-
getLabelCountAlphabeticComparator
@NotNull public static @NotNull Comparator<LabelCount> getLabelCountAlphabeticComparator()
-
getLabelCountRankComparator
@NotNull public static @NotNull Comparator<LabelCount> getLabelCountRankComparator()
-
getNameProviderOrdering
@NotNull public static @NotNull com.google.common.collect.Ordering<NameProvider> getNameProviderOrdering()
Not that this order is case sensitive. If using for UI usegetNameProviderCaseInsensitiveOrdering()instead
-
getTopLevelPlanNameProviderCaseInsensitiveOrdering
@NotNull public static <T extends ImmutableChain> @NotNull com.google.common.collect.Ordering<T> getTopLevelPlanNameProviderCaseInsensitiveOrdering()
-
getPlanNameProviderCaseInsensitiveOrdering
@NotNull public static @NotNull com.google.common.collect.Ordering<ImmutablePlan> getPlanNameProviderCaseInsensitiveOrdering()
This method will be slower thangetTopLevelPlanNameProviderCaseInsensitiveOrdering()so consider using that instead.- Returns:
Orderingobject
-
getNameProviderCaseInsensitiveOrdering
@NotNull public static @NotNull com.google.common.collect.Ordering<NameProvider> getNameProviderCaseInsensitiveOrdering()
Do not use this for plans unless you know the plans you are sorting are within the same parent (e.g. same project, or same chain.) UsegetTopLevelPlanNameProviderCaseInsensitiveOrdering()orgetPlanNameProviderCaseInsensitiveOrdering()instead
-
stringPropertyComparator
@NotNull public static <T> @NotNull Comparator<T> stringPropertyComparator(@NotNull @NotNull Class<T> beanClass, @NotNull @NotNull String propertyName)
-
stringPropertyCaseInsensitiveComparator
@NotNull public static <T> @NotNull Comparator<T> stringPropertyCaseInsensitiveComparator(@NotNull @NotNull Class<T> beanClass, @NotNull @NotNull String propertyName)
-
getResultsSummaryNumberOrdering
@NotNull public static @NotNull com.google.common.collect.Ordering<ResultsSummary> getResultsSummaryNumberOrdering()
-
getResultsSummaryNameAndNumberComparator
@NotNull public static @NotNull com.google.common.collect.Ordering<ResultsSummary> getResultsSummaryNameAndNumberComparator()
-
jobStagePlanNameCaseInsensitiveCompare
public static int jobStagePlanNameCaseInsensitiveCompare(ImmutableJob o1, ImmutableJob o2)
-
getApplicationBuildNumberComparator
@NotNull public static @NotNull Comparator<String> getApplicationBuildNumberComparator()
-
getPlanNameResultOrdering
@NotNull public static @NotNull com.google.common.collect.Ordering<ResultsSummary> getPlanNameResultOrdering()
-
getVariableDefinitionContextOrdering
@NotNull public static @NotNull com.google.common.collect.Ordering<VariableDefinitionContext> getVariableDefinitionContextOrdering()
-
getVariableDefinitionOrdering
@NotNull public static @NotNull com.google.common.collect.Ordering<VariableDefinition> getVariableDefinitionOrdering()
-
getModuleDescriptorNameOrdering
@NotNull public static @NotNull com.google.common.collect.Ordering<com.atlassian.plugin.ModuleDescriptor<?>> getModuleDescriptorNameOrdering()
-
getPlanResultKeyOrdering
@NotNull public static @NotNull com.google.common.collect.Ordering<PlanResultKey> getPlanResultKeyOrdering()
-
getBambooIdProviderOrdering
@NotNull public static @NotNull com.google.common.collect.Ordering<BambooIdProvider> getBambooIdProviderOrdering()
-
isGreater
public static <T extends Comparable<T>> boolean isGreater(@NotNull T o1, @NotNull T o2)
- Returns:
- true if o1 is greater than o2 according to natural compare order
-
isGreater
public static <T> boolean isGreater(@NotNull T o1, @NotNull T o2, @NotNull @NotNull Comparator<T> comparator)- Returns:
- true if o1 is greater than o2 according to comparator
-
isGreaterOrEqual
public static <T> boolean isGreaterOrEqual(@NotNull T o1, @NotNull T o2, @NotNull @NotNull Comparator<T> comparator)- Returns:
- true if o1 is greater or equal to o2 according to comparator
-
isLesser
public static <T> boolean isLesser(@NotNull T o1, @NotNull T o2, @NotNull @NotNull Comparator<T> comparator)- Returns:
- true if o1 is less than o2 according to comparator
-
isLesserOrEqual
public static <T> boolean isLesserOrEqual(@NotNull T o1, @NotNull T o2, @NotNull @NotNull Comparator<T> comparator)- Returns:
- true if o1 is less or equal to o2 according to comparator
-
-