Class GraalVMStaticFeature

java.lang.Object
org.hibernate.graalvm.internal.GraalVMStaticFeature
All Implemented Interfaces:
org.graalvm.nativeimage.hosted.Feature

public class GraalVMStaticFeature extends Object implements org.graalvm.nativeimage.hosted.Feature
This is a best effort, untested experimental GraalVM feature to help people getting Hibernate ORM to work with GraalVM native images. There are multiple reasons for this to be untested. One is that for tests to be effective they would need very extensive coverage of all functionality: the point of this class being a list of all things being initialized reflectively, it's not possible to ensure that the list is comprehensive without the tests being comprehensive as well. The other problem is that this is listing just that "static needs" of Hibernate ORM: it will very likely also need to access reflectively the user's domain model and the various extension points, depending on configurations. Such configuration - and especially the domain model - is dynamic by its very own nature, and therefore this list is merely provided as a useful starting point, but it needs to be extended; such extensions could be automated, or will need to be explicitly passed to the native-image arguments.

In conclusion, it's not possible to provide a fully comprehensive list: take this as a hopefully useful building block.

  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.graalvm.nativeimage.hosted.Feature

    org.graalvm.nativeimage.hosted.Feature.AfterAnalysisAccess, org.graalvm.nativeimage.hosted.Feature.AfterCompilationAccess, org.graalvm.nativeimage.hosted.Feature.AfterHeapLayoutAccess, org.graalvm.nativeimage.hosted.Feature.AfterImageWriteAccess, org.graalvm.nativeimage.hosted.Feature.AfterRegistrationAccess, org.graalvm.nativeimage.hosted.Feature.BeforeAnalysisAccess, org.graalvm.nativeimage.hosted.Feature.BeforeCompilationAccess, org.graalvm.nativeimage.hosted.Feature.BeforeImageWriteAccess, org.graalvm.nativeimage.hosted.Feature.BeforeUniverseBuildingAccess, org.graalvm.nativeimage.hosted.Feature.CompilationAccess, org.graalvm.nativeimage.hosted.Feature.DuringAnalysisAccess, org.graalvm.nativeimage.hosted.Feature.DuringSetupAccess, org.graalvm.nativeimage.hosted.Feature.FeatureAccess, org.graalvm.nativeimage.hosted.Feature.IsInConfigurationAccess, org.graalvm.nativeimage.hosted.Feature.OnAnalysisExitAccess, org.graalvm.nativeimage.hosted.Feature.QueryReachabilityAccess
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    beforeAnalysis(org.graalvm.nativeimage.hosted.Feature.BeforeAnalysisAccess before)
     
     

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.graalvm.nativeimage.hosted.Feature

    afterAnalysis, afterCompilation, afterHeapLayout, afterImageWrite, afterRegistration, beforeCompilation, beforeImageWrite, beforeUniverseBuilding, cleanup, duringAnalysis, duringSetup, getRequiredFeatures, getURL, isInConfiguration, onAnalysisExit
  • Constructor Details

    • GraalVMStaticFeature

      public GraalVMStaticFeature()
  • Method Details

    • beforeAnalysis

      public void beforeAnalysis(org.graalvm.nativeimage.hosted.Feature.BeforeAnalysisAccess before)
      Specified by:
      beforeAnalysis in interface org.graalvm.nativeimage.hosted.Feature
    • getDescription

      public String getDescription()
      Specified by:
      getDescription in interface org.graalvm.nativeimage.hosted.Feature