Class Jvm.Support<V>

  • Type Parameters:
    V - Version type of formatter
    Enclosing class:
    Jvm

    public static class Jvm.Support<V>
    extends Object
    Utility to map constraints of formatter to this JVM
    • Method Detail

      • add

        public Jvm.Support<V> add​(int minimumJvmVersion,
                                  V maxFormatterVersion)
        Add supported formatter version
        Parameters:
        minimumJvmVersion - Minimum Java version required
        maxFormatterVersion - Maximum formatter version supported by the Java version
        Returns:
        this
      • getRecommendedFormatterVersion

        @Nullable
        public V getRecommendedFormatterVersion()
        Returns:
        Highest formatter version recommended for this JVM (null, if JVM not supported)
      • assertFormatterSupported

        public void assertFormatterSupported​(V formatterVersion)
        Assert the formatter is supported
        Parameters:
        formatterVersion - Formatter version
        Throws:
        IllegalArgumentException - if formatterVersion not supported
      • suggestLaterVersionOnError

        public FormatterFunc suggestLaterVersionOnError​(V formatterVersion,
                                                        FormatterFunc originalFunc)
        Suggest to use a different formatter version if formatting fails
        Parameters:
        formatterVersion - Formatter version
        originalFunc - Formatter function
        Returns:
        Wrapped formatter function. Adding hint about later versions to exceptions.