Package net.shibboleth.shared.logic

# Class Constraint

java.lang.Object
net.shibboleth.shared.logic.Constraint

public final class Constraint extends Object
A helper class for evaluating certain constraints. Any violation will thrown a `ConstraintViolationException`.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`private`
`Constraint()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`static <T> Collection<T>`
`isEmpty(Collection<T> collection, String message)`
Checks that the given collection is null or empty.
`static boolean`
`isFalse(boolean b, String message)`
Checks that the given boolean is false.
`static int`
`isGreaterThan(int threshold, int number, String message)`
Checks that the given number is greater than a given threshold.
`static long`
`isGreaterThan(long threshold, long number, String message)`
Checks that the given number is greater than a given threshold.
`static int`
`isGreaterThanOrEqual(int threshold, int number, String message)`
Checks that the given number is greater than, or equal to, a given threshold.
`static long`
`isGreaterThanOrEqual(long threshold, long number, String message)`
Checks that the given number is greater than, or equal to, a given threshold.
`static int`
`isLessThan(int threshold, int number, String message)`
Checks that the given number is less than a given threshold.
`static long`
`isLessThan(long threshold, long number, String message)`
Checks that the given number is less than a given threshold.
`static int`
`isLessThanOrEqual(int threshold, int number, String message)`
Checks that the given number is less than, or equal to, a given threshold.
`static long`
`isLessThanOrEqual(long threshold, long number, String message)`
Checks that the given number is less than, or equal to, a given threshold.
`static byte[]`
`isNotEmpty(byte[] array, String message)`
Checks that the given byte array is not empty.
`static String`
`isNotEmpty(String string, String message)`
Checks that the given string is not empty.
`static <T> Collection<T>`
`isNotEmpty(Collection<T> collection, String message)`
Checks that the given collection is not empty.
`static <T> T[]`
`isNotEmpty(T[] array, String message)`
Checks that the given array is not empty.
`static <T> T`
`isNotNull(T obj, String message)`
Checks that the given object is not null.
`static <T> T`
`isNull(T obj, String message)`
Checks that the given object is null.
`static boolean`
`isTrue(boolean b, String message)`
Checks that the given boolean is true.
`static <T> T[]`
`noNullItems(T[] array, String message)`
Checks that the array is non null and does not contain any null elements.
`static <T extends Collection<?>>
T`
`noNullItems(T collection, String message)`
Checks that the collection is non null and does not contain any null elements.
`static long`
`numberInRangeExclusive(long lowerTheshold, long upperThreshold, long number, String message)`
Checks that the given number is in the exclusive range.
`static long`
`numberInRangeInclusive(long lowerTheshold, long upperThreshold, long number, String message)`
Checks that the given number is in the inclusive range.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Constraint

private Constraint()
Constructor.

## Method Details

### isEmpty

@Nullable public static <T> Collection<T> isEmpty(@Nullable @NullableElements Collection<T> collection, @Nonnull String message)
Checks that the given collection is null or empty. If the collection is not empty a `ConstraintViolationException` is thrown.

Type Parameters:
  `T` - type of items in the collection
Parameters:
  `collection` - collection to check
  `message` - message used in the `ConstraintViolationException`
Returns:
  the checked input

### isFalse

public static boolean isFalse(boolean b, @Nonnull String message)
Checks that the given boolean is false. If not a `ConstraintViolationException` is thrown.

Parameters:
  `b` - boolean to check
  `message` - message used in `ConstraintViolationException`
Returns:
  the checked boolean

### isGreaterThan

public static long isGreaterThan(long threshold, long number, @Nonnull String message)
Checks that the given number is greater than a given threshold. If the number is not greater than the threshold a `ConstraintViolationException` is thrown.

Parameters:
  `threshold` - the threshold
  `number` - the number to be checked
  `message` - message used in the `ConstraintViolationException`
Returns:
  the checked input

### isGreaterThanOrEqual

public static long isGreaterThanOrEqual(long threshold, long number, @Nonnull String message)
Checks that the given number is greater than, or equal to, a given threshold. If the number is not greater than, or equal to, the threshold a `ConstraintViolationException` is thrown.

Parameters:
  `threshold` - the threshold
  `number` - the number to be checked
  `message` - message used in the `ConstraintViolationException`
Returns:
  the checked input

### isLessThan

public static long isLessThan(long threshold, long number, @Nonnull String message)
Checks that the given number is less than a given threshold. If the number is not less than the threshold a `ConstraintViolationException` is thrown.

Parameters:
  `threshold` - the threshold
  `number` - the number to be checked
  `message` - message used in the `ConstraintViolationException`
Returns:
  the checked input

### isLessThanOrEqual

public static long isLessThanOrEqual(long threshold, long number, @Nonnull String message)
Checks that the given number is less than, or equal to, a given threshold. If the number is not less than, or equal to, the threshold a `ConstraintViolationException` is thrown.

Parameters:
  `threshold` - the threshold
  `number` - the number to be checked
  `message` - message used in the `ConstraintViolationException`
Returns:
  the checked input

### isGreaterThan

public static int isGreaterThan(int threshold, int number, @Nonnull String message)
Checks that the given number is greater than a given threshold. If the number is not greater than the threshold a `ConstraintViolationException` is thrown.

Parameters:
  `threshold` - the threshold
  `number` - the number to be checked
  `message` - message used in the `ConstraintViolationException`
Returns:
  the checked input
Since:
  8.0.0

### isGreaterThanOrEqual

public static int isGreaterThanOrEqual(int threshold, int number, @Nonnull String message)
Checks that the given number is greater than, or equal to, a given threshold. If the number is not greater than, or equal to, the threshold a `ConstraintViolationException` is thrown.

Parameters:
  `threshold` - the threshold
  `number` - the number to be checked
  `message` - message used in the `ConstraintViolationException`
Returns:
  the checked input
Since:
  8.0.0

### isLessThan

public static int isLessThan(int threshold, int number, @Nonnull String message)
Checks that the given number is less than a given threshold. If the number is not less than the threshold a `ConstraintViolationException` is thrown.

Parameters:
  `threshold` - the threshold
  `number` - the number to be checked
  `message` - message used in the `ConstraintViolationException`
Returns:
  the checked input
Since:
  8.0.0

### isLessThanOrEqual

public static int isLessThanOrEqual(int threshold, int number, @Nonnull String message)
Checks that the given number is less than, or equal to, a given threshold. If the number is not less than, or equal to, the threshold a `ConstraintViolationException` is thrown.

Parameters:
  `threshold` - the threshold
  `number` - the number to be checked
  `message` - message used in the `ConstraintViolationException`
Returns:
  the checked input
Since:
  8.0.0

### isNotEmpty

@Nonnull public static <T> Collection<T> isNotEmpty(@Nullable @NullableElements Collection<T> collection, @Nonnull String message)
Checks that the given collection is not empty. If the collection is null or empty a `ConstraintViolationException` is thrown.

Type Parameters:
  `T` - type of items in the collection
Parameters:
  `collection` - collection to check
  `message` - message used in the `ConstraintViolationException`
Returns:
  the checked input

### isNotEmpty

@Nonnull public static <T> T[] isNotEmpty(@Nullable @NullableElements T[] array, @Nonnull String message)
Checks that the given array is not empty. If the array is null or empty a `ConstraintViolationException` is thrown.

Type Parameters:
  `T` - type of items in the array
Parameters:
  `array` - array to check
  `message` - message used in the `ConstraintViolationException`
Returns:
  the checked input

### isNotEmpty

@Nonnull public static byte[] isNotEmpty(@Nullable @NullableElements byte[] array, @Nonnull String message)
Checks that the given byte array is not empty. If the array is null or empty a `ConstraintViolationException` is thrown.

Parameters:
  `array` - array to check
  `message` - message used in the `ConstraintViolationException`
Returns:
  the checked input

### isNotEmpty

@Nonnull public static String isNotEmpty(@Nullable String string, @Nonnull String message)
Checks that the given string is not empty. If the string is null or empty a `ConstraintViolationException` is thrown.

Parameters:
  `string` - string to check
  `message` - message used in the `ConstraintViolationException`
Returns:
  the checked input

### isNotNull

@Nonnull public static <T> T isNotNull(@Nullable T obj, @Nonnull String message)
Checks that the given object is not null. If the object is null a `ConstraintViolationException` is thrown.

Type Parameters:
  `T` - object type
Parameters:
  `obj` - object to check
  `message` - message used in `ConstraintViolationException`
Returns:
  the checked input

### isNull

@Nullable public static <T> T isNull(@Nullable T obj, @Nonnull String message)
Checks that the given object is null. If the object is not null a `ConstraintViolationException` is thrown.

Type Parameters:
  `T` - object type
Parameters:
  `obj` - object to check
  `message` - message used in `ConstraintViolationException`
Returns:
  the checked input

### isTrue

public static boolean isTrue(boolean b, @Nonnull String message)
Checks that the given boolean is true. If not a `ConstraintViolationException` is thrown.

Parameters:
  `b` - boolean to check
  `message` - message used in `ConstraintViolationException`
Returns:
  the checked boolean

### noNullItems

@Nonnull public static <T> T[] noNullItems(@Nullable T[] array, @Nonnull String message)
Checks that the array is non null and does not contain any null elements.

Type Parameters:
  `T` - type of elements in the array
Parameters:
  `array` - array to check
  `message` - message used in the `ConstraintViolationException`
Returns:
  the given array

### noNullItems

@Nonnull public static <T extends Collection<?>> T noNullItems(@Nullable @NullableElements T collection, @Nonnull String message)
Checks that the collection is non null and does not contain any null elements.

Type Parameters:
  `T` - type of collection to inspect.
Parameters:
  `collection` - to check.
  `message` - message used in the `ConstraintViolationException`
Returns:
  the given array

### numberInRangeExclusive

public static long numberInRangeExclusive(long lowerTheshold, long upperThreshold, long number, @Nonnull String message)
Checks that the given number is in the exclusive range. If the number is not in the range a `ConstraintViolationException` is thrown.

Parameters:
  `lowerTheshold` - lower bound of the range
  `upperThreshold` - upper bound of the range
  `number` - number to check
  `message` - message used in the `ConstraintViolationException`
Returns:
  the checked input

### numberInRangeInclusive

public static long numberInRangeInclusive(long lowerTheshold, long upperThreshold, long number, @Nonnull String message)
Checks that the given number is in the inclusive range. If the number is not in the range a `ConstraintViolationException` is thrown.

Parameters:
  `lowerTheshold` - lower bound of the range
  `upperThreshold` - upper bound of the range
  `number` - number to check
  `message` - message used in the `ConstraintViolationException`
Returns:
  the checked input