Class JavaEightUtil


  • public final class JavaEightUtil
    extends java.lang.Object
    Helper class to work with features that were introduced in Java versions after 1.5. This class uses reflection in most places to avoid coupling with a newer JDK.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private JavaEightUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.Object emptyDoubleStream()
      Creates an empty DoubleStream using reflection to stay backwards-compatible with older JDKs.
      static java.lang.Object emptyIntStream()
      Creates an empty IntStream using reflection to stay backwards-compatible with older JDKs.
      static java.lang.Object emptyLongStream()
      Creates an empty LongStream using reflection to stay backwards-compatible with older JDKs.
      static java.lang.Object emptyOptional()
      Creates an empty Optional using reflection to stay backwards-compatible with older JDKs.
      static java.lang.Object emptyOptionalDouble()
      Creates an empty OptionalDouble using reflection to stay backwards-compatible with older JDKs.
      static java.lang.Object emptyOptionalInt()
      Creates an empty OptionalInt using reflection to stay backwards-compatible with older JDKs.
      static java.lang.Object emptyOptionalLong()
      Creates an empty OptionalLong using reflection to stay backwards-compatible with older JDKs.
      static java.lang.Object emptyStream()
      Creates an empty Stream using reflection to stay backwards-compatible with older JDKs.
      private static java.lang.Object invokeNullaryFactoryMethod​(java.lang.String fqcn, java.lang.String methodName)
      Invokes a nullary static factory method using reflection to stay backwards-compatible with older JDKs.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • emptyOptional

        private static java.lang.Object emptyOptional
      • emptyOptionalDouble

        private static java.lang.Object emptyOptionalDouble
      • emptyOptionalInt

        private static java.lang.Object emptyOptionalInt
      • emptyOptionalLong

        private static java.lang.Object emptyOptionalLong
    • Constructor Detail

      • JavaEightUtil

        private JavaEightUtil()
    • Method Detail

      • emptyOptional

        public static java.lang.Object emptyOptional()
        Creates an empty Optional using reflection to stay backwards-compatible with older JDKs.
        Returns:
        an empty Optional.
      • emptyOptionalDouble

        public static java.lang.Object emptyOptionalDouble()
        Creates an empty OptionalDouble using reflection to stay backwards-compatible with older JDKs.
        Returns:
        an empty OptionalDouble.
      • emptyOptionalInt

        public static java.lang.Object emptyOptionalInt()
        Creates an empty OptionalInt using reflection to stay backwards-compatible with older JDKs.
        Returns:
        an empty OptionalInt.
      • emptyOptionalLong

        public static java.lang.Object emptyOptionalLong()
        Creates an empty OptionalLong using reflection to stay backwards-compatible with older JDKs.
        Returns:
        an empty OptionalLong.
      • emptyStream

        public static java.lang.Object emptyStream()
        Creates an empty Stream using reflection to stay backwards-compatible with older JDKs.
        Returns:
        an empty Stream.
      • emptyDoubleStream

        public static java.lang.Object emptyDoubleStream()
        Creates an empty DoubleStream using reflection to stay backwards-compatible with older JDKs.
        Returns:
        an empty DoubleStream.
      • emptyIntStream

        public static java.lang.Object emptyIntStream()
        Creates an empty IntStream using reflection to stay backwards-compatible with older JDKs.
        Returns:
        an empty IntStream.
      • emptyLongStream

        public static java.lang.Object emptyLongStream()
        Creates an empty LongStream using reflection to stay backwards-compatible with older JDKs.
        Returns:
        an empty LongStream.
      • invokeNullaryFactoryMethod

        private static java.lang.Object invokeNullaryFactoryMethod​(java.lang.String fqcn,
                                                                   java.lang.String methodName)
        Invokes a nullary static factory method using reflection to stay backwards-compatible with older JDKs.
        Parameters:
        fqcn - The fully qualified class name of the type to be produced.
        methodName - The name of the factory method.
        Returns:
        the object produced.