Class DefaultVersionInformation

  • All Implemented Interfaces:
    VersionInformation

    public class DefaultVersionInformation
    extends java.lang.Object
    implements VersionInformation
    Provides information about the processor version and the processor context implementation version.

    Separated into an interface and this implementation to avoid cyclic dependencies between the processor package and the model package.

    • Field Detail

      • COMPILER_NAME_JAVAC

        private static final java.lang.String COMPILER_NAME_JAVAC
        See Also:
        Constant Field Values
      • JDT_IDE_PE_CLASS

        private static final java.lang.String JDT_IDE_PE_CLASS
        See Also:
        Constant Field Values
      • JDT_BATCH_PE_CLASS

        private static final java.lang.String JDT_BATCH_PE_CLASS
        See Also:
        Constant Field Values
      • COMPILER_NAME_ECLIPSE_JDT

        private static final java.lang.String COMPILER_NAME_ECLIPSE_JDT
        See Also:
        Constant Field Values
      • MAP_STRUCT_VERSION

        private static final java.lang.String MAP_STRUCT_VERSION
      • runtimeVersion

        private final java.lang.String runtimeVersion
      • runtimeVendor

        private final java.lang.String runtimeVendor
      • compiler

        private final java.lang.String compiler
      • sourceVersionAtLeast9

        private final boolean sourceVersionAtLeast9
      • eclipseJDT

        private final boolean eclipseJDT
      • javac

        private final boolean javac
    • Constructor Detail

      • DefaultVersionInformation

        DefaultVersionInformation​(java.lang.String runtimeVersion,
                                  java.lang.String runtimeVendor,
                                  java.lang.String compiler,
                                  javax.lang.model.SourceVersion sourceVersion)
    • Method Detail

      • fromProcessingEnvironment

        static DefaultVersionInformation fromProcessingEnvironment​(javax.annotation.processing.ProcessingEnvironment processingEnv)
      • getCompiler

        private static java.lang.String getCompiler​(javax.annotation.processing.ProcessingEnvironment processingEnv)
      • getLibraryName

        private static java.lang.String getLibraryName​(java.lang.Class<?> clazz,
                                                       boolean preferVersionOnly)
      • openManifest

        private static java.util.jar.Manifest openManifest​(java.lang.String classFileName,
                                                           java.net.URL resource)
      • extractBundleName

        private static java.lang.String extractBundleName​(java.util.jar.Manifest manifest)
      • extractJrtModuleName

        private static java.lang.String extractJrtModuleName​(java.net.URL resource)
      • createManifestUrl

        private static java.net.URL createManifestUrl​(java.lang.String classFileName,
                                                      java.net.URL resource)
                                               throws java.net.MalformedURLException
        Throws:
        java.net.MalformedURLException
      • asClassFileName

        private static java.lang.String asClassFileName​(java.lang.String className)
      • extractJarFileName

        private static java.lang.String extractJarFileName​(java.lang.String file)
      • initMapStructVersion

        private static java.lang.String initMapStructVersion()