org.threeten.bp.jdk8
Class Jdk8Methods

java.lang.Object
  extended by org.threeten.bp.jdk8.Jdk8Methods

public final class Jdk8Methods
extends Object

A set of utility methods that provide additional functionality for working with dates and times.

The contents of this class replace functionality available in JDK 8.

Specification for implementors

This is a thread-safe utility class. All returned classes are immutable and thread-safe.


Method Summary
static int compareInts(int a, int b)
          Compares two ints.
static int compareLongs(long a, long b)
          Compares two longs.
static boolean equals(Object a, Object b)
          Compares two objects.
static int floorDiv(int a, int b)
          Returns the floor division.
static long floorDiv(long a, long b)
          Returns the floor division.
static int floorMod(int a, int b)
          Returns the floor modulus.
static int floorMod(long a, int b)
          Returns the floor modulus.
static long floorMod(long a, long b)
          Returns the floor modulus.
static
<T> T
requireNonNull(T value)
          Ensures that the argument is non-null.
static
<T> T
requireNonNull(T value, String parameterName)
          Ensures that the argument is non-null.
static int safeAdd(int a, int b)
          Safely adds two int values.
static long safeAdd(long a, long b)
          Safely adds two long values.
static int safeMultiply(int a, int b)
          Safely multiply one int by another.
static long safeMultiply(long a, int b)
          Safely multiply a long by an int.
static long safeMultiply(long a, long b)
          Multiply two values throwing an exception if overflow occurs.
static int safeSubtract(int a, int b)
          Safely subtracts one int from another.
static long safeSubtract(long a, long b)
          Safely subtracts one long from another.
static int safeToInt(long value)
          Safely convert a long to an int.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

requireNonNull

public static <T> T requireNonNull(T value)
Ensures that the argument is non-null.

Type Parameters:
T - the value type
Parameters:
value - the value to check
Returns:
the checked non-null value
Throws:
NullPointerException - if the value is null

requireNonNull

public static <T> T requireNonNull(T value,
                                   String parameterName)
Ensures that the argument is non-null.

Type Parameters:
T - the value type
Parameters:
value - the value to check
parameterName - the name of the parameter
Returns:
the checked non-null value
Throws:
NullPointerException - if the value is null

equals

public static boolean equals(Object a,
                             Object b)
Compares two objects.

Parameters:
a - the first value
b - the second value
Returns:
the result

compareInts

public static int compareInts(int a,
                              int b)
Compares two ints.

Parameters:
a - the first value
b - the second value
Returns:
the result

compareLongs

public static int compareLongs(long a,
                               long b)
Compares two longs.

Parameters:
a - the first value
b - the second value
Returns:
the result

safeAdd

public static int safeAdd(int a,
                          int b)
Safely adds two int values.

Parameters:
a - the first value
b - the second value
Returns:
the result
Throws:
ArithmeticException - if the result overflows an int

safeAdd

public static long safeAdd(long a,
                           long b)
Safely adds two long values.

Parameters:
a - the first value
b - the second value
Returns:
the result
Throws:
ArithmeticException - if the result overflows a long

safeSubtract

public static int safeSubtract(int a,
                               int b)
Safely subtracts one int from another.

Parameters:
a - the first value
b - the second value to subtract from the first
Returns:
the result
Throws:
ArithmeticException - if the result overflows an int

safeSubtract

public static long safeSubtract(long a,
                                long b)
Safely subtracts one long from another.

Parameters:
a - the first value
b - the second value to subtract from the first
Returns:
the result
Throws:
ArithmeticException - if the result overflows a long

safeMultiply

public static int safeMultiply(int a,
                               int b)
Safely multiply one int by another.

Parameters:
a - the first value
b - the second value
Returns:
the result
Throws:
ArithmeticException - if the result overflows an int

safeMultiply

public static long safeMultiply(long a,
                                int b)
Safely multiply a long by an int.

Parameters:
a - the first value
b - the second value
Returns:
the new total
Throws:
ArithmeticException - if the result overflows a long

safeMultiply

public static long safeMultiply(long a,
                                long b)
Multiply two values throwing an exception if overflow occurs.

Parameters:
a - the first value
b - the second value
Returns:
the new total
Throws:
ArithmeticException - if the result overflows a long

safeToInt

public static int safeToInt(long value)
Safely convert a long to an int.

Parameters:
value - the value to convert
Returns:
the int value
Throws:
ArithmeticException - if the result overflows an int

floorDiv

public static long floorDiv(long a,
                            long b)
Returns the floor division.

This returns 0 for floorDiv(0, 4).
This returns -1 for floorDiv(-1, 4).
This returns -1 for floorDiv(-2, 4).
This returns -1 for floorDiv(-3, 4).
This returns -1 for floorDiv(-4, 4).
This returns -2 for floorDiv(-5, 4).

Parameters:
a - the dividend
b - the divisor
Returns:
the floor division

floorMod

public static long floorMod(long a,
                            long b)
Returns the floor modulus.

This returns 0 for floorMod(0, 4).
This returns 1 for floorMod(-1, 4).
This returns 2 for floorMod(-2, 4).
This returns 3 for floorMod(-3, 4).
This returns 0 for floorMod(-4, 4).

Parameters:
a - the dividend
b - the divisor
Returns:
the floor modulus (positive)

floorMod

public static int floorMod(long a,
                           int b)
Returns the floor modulus.

This returns 0 for floorMod(0, 4).
This returns 3 for floorMod(-1, 4).
This returns 2 for floorMod(-2, 4).
This returns 1 for floorMod(-3, 4).
This returns 0 for floorMod(-4, 4).
This returns 3 for floorMod(-5, 4).

Parameters:
a - the dividend
b - the divisor
Returns:
the floor modulus (positive)

floorDiv

public static int floorDiv(int a,
                           int b)
Returns the floor division.

This returns 1 for floorDiv(3, 3).
This returns 0 for floorDiv(2, 3).
This returns 0 for floorDiv(1, 3).
This returns 0 for floorDiv(0, 3).
This returns -1 for floorDiv(-1, 3).
This returns -1 for floorDiv(-2, 3).
This returns -1 for floorDiv(-3, 3).
This returns -2 for floorDiv(-4, 3).

Parameters:
a - the dividend
b - the divisor
Returns:
the floor division

floorMod

public static int floorMod(int a,
                           int b)
Returns the floor modulus.

This returns 0 for floorMod(3, 3).
This returns 2 for floorMod(2, 3).
This returns 1 for floorMod(1, 3).
This returns 0 for floorMod(0, 3).
This returns 2 for floorMod(-1, 3).
This returns 1 for floorMod(-2, 3).
This returns 0 for floorMod(-3, 3).
This returns 2 for floorMod(-4, 3).

Parameters:
a - the dividend
b - the divisor
Returns:
the floor modulus (positive)


Copyright © 2007–2016 ThreeTen.org. All rights reserved.