Class SystemGetPropertyHandler


  • public class SystemGetPropertyHandler
    extends java.lang.Object
    Utility class for handling System.getProperty(String) and related invocations.

    The result of the method call is assumed to be non-null if the argument is a literal key that is guaranteed to be present in the system properties (according to the documentation of System.getProperty(String)), as in System.getProperties("line.separator").

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.util.Collection<java.lang.String> predefinedSystemProperties
      System properties that are defined at startup on every JVM.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void handle​(com.sun.source.tree.MethodInvocationTree tree, AnnotatedTypeMirror.AnnotatedExecutableType method)
      Apply rules regarding System.getProperty and related methods.
      • Methods inherited from class java.lang.Object

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

      • predefinedSystemProperties

        public static final java.util.Collection<java.lang.String> predefinedSystemProperties
        System properties that are defined at startup on every JVM.

        This list is from the Javadoc of System.getProperties, for Java 17.

    • Constructor Detail

      • SystemGetPropertyHandler

        public SystemGetPropertyHandler​(javax.annotation.processing.ProcessingEnvironment env,
                                        NullnessNoInitAnnotatedTypeFactory factory,
                                        boolean permitClearProperty)
        Creates a SystemGetPropertyHandler.
        Parameters:
        env - the processing environment
        factory - the factory for constructing and looking up types
        permitClearProperty - if true, client code may clear system properties, and this object does nothing
    • Method Detail

      • handle

        public void handle​(com.sun.source.tree.MethodInvocationTree tree,
                           AnnotatedTypeMirror.AnnotatedExecutableType method)
        Apply rules regarding System.getProperty and related methods.
        Parameters:
        tree - a method invocation
        method - the method being invoked