Class Detector


  • public abstract class Detector
    extends java.lang.Object
    • Field Detail

      • DETECTED_VERSION

        public static final java.lang.String DETECTED_VERSION
        See Also:
        Constant Field Values
      • DETECTED_VERSION_MAJOR

        public static final java.lang.String DETECTED_VERSION_MAJOR
        See Also:
        Constant Field Values
      • DETECTED_VERSION_MINOR

        public static final java.lang.String DETECTED_VERSION_MINOR
        See Also:
        Constant Field Values
      • DETECTED_CLASSIFIER

        public static final java.lang.String DETECTED_CLASSIFIER
        See Also:
        Constant Field Values
      • DETECTED_RELEASE

        public static final java.lang.String DETECTED_RELEASE
        See Also:
        Constant Field Values
      • DETECTED_RELEASE_VERSION

        public static final java.lang.String DETECTED_RELEASE_VERSION
        See Also:
        Constant Field Values
      • DETECTED_RELEASE_LIKE_PREFIX

        public static final java.lang.String DETECTED_RELEASE_LIKE_PREFIX
        See Also:
        Constant Field Values
      • LINUX_ID_LIKE_PREFIX

        private static final java.lang.String LINUX_ID_LIKE_PREFIX
        See Also:
        Constant Field Values
      • LINUX_VERSION_ID_PREFIX

        private static final java.lang.String LINUX_VERSION_ID_PREFIX
        See Also:
        Constant Field Values
      • LINUX_OS_RELEASE_FILES

        private static final java.lang.String[] LINUX_OS_RELEASE_FILES
      • REDHAT_RELEASE_FILE

        private static final java.lang.String REDHAT_RELEASE_FILE
        See Also:
        Constant Field Values
      • DEFAULT_REDHAT_VARIANTS

        private static final java.lang.String[] DEFAULT_REDHAT_VARIANTS
      • VERSION_REGEX

        private static final java.util.regex.Pattern VERSION_REGEX
      • REDHAT_MAJOR_VERSION_REGEX

        private static final java.util.regex.Pattern REDHAT_MAJOR_VERSION_REGEX
    • Constructor Detail

      • Detector

        public Detector()
    • Method Detail

      • detect

        protected void detect​(java.util.Properties props,
                              java.util.List<java.lang.String> classifierWithLikes)
      • setProperty

        private void setProperty​(java.util.Properties props,
                                 java.lang.String name,
                                 java.lang.String value)
      • log

        protected abstract void log​(java.lang.String message)
      • logProperty

        protected abstract void logProperty​(java.lang.String name,
                                            java.lang.String value)
      • normalizeOs

        private static java.lang.String normalizeOs​(java.lang.String value)
      • normalizeArch

        private static java.lang.String normalizeArch​(java.lang.String value)
      • normalize

        private static java.lang.String normalize​(java.lang.String value)
      • parseLinuxOsReleaseFile

        private static Detector.LinuxRelease parseLinuxOsReleaseFile​(java.io.File file)
        Parses a file in the format of /etc/os-release and return a Detector.LinuxRelease based on the ID, ID_LIKE, and VERSION_ID entries.
      • parseLinuxRedhatReleaseFile

        private static Detector.LinuxRelease parseLinuxRedhatReleaseFile​(java.io.File file)
        Parses the /etc/redhat-release and returns a Detector.LinuxRelease containing the ID and like ["rhel", "fedora", ID]. Currently only supported for CentOS, Fedora, and RHEL. Other variants will return null.
      • normalizeOsReleaseValue

        private static java.lang.String normalizeOsReleaseValue​(java.lang.String value)
      • closeQuietly

        private static void closeQuietly​(java.io.Closeable obj)