Class BrowserDetails

java.lang.Object
com.vaadin.flow.shared.BrowserDetails
All Implemented Interfaces:
Serializable

public class BrowserDetails extends Object implements Serializable
Parses the user agent string from the browser and provides information about the browser.
Since:
1.0.
Author:
Vaadin Ltd
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
    Detected operating systems.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create an instance based on the given user agent.
  • Method Summary

    Modifier and Type
    Method
    Description
    float
    Returns the version of the browser engine.
    final int
    Returns the browser major version e.g., 3 for Firefox 3.5, 4 for Chrome 4, 8 for Internet Explorer 8.
    final int
    Returns the browser minor version e.g., 5 for Firefox 3.5.
    int
    Returns the major version of the operating system.
    int
    Returns the minor version of the operating system.
    boolean
    Tests if the browser is run on Android.
    boolean
    Tests if the browser is Chrome.
    boolean
    Tests if the browser is run on Chrome OS (e.g.
    boolean
    Tests if the browser is Edge.
    boolean
    Tests if the browser is Firefox.
    boolean
    Tests if the browser is using the Gecko engine.
    boolean
    Tests if the browser is Internet Explorer.
    boolean
    Tests if the browser is run on iPhone.
    boolean
    Tests if the browser is run on Linux.
    boolean
    Tests if the browser is run on Mac OSX.
    boolean
    Tests if the browser is Opera.
    boolean
    Tests if the browser is using the Presto engine.
    boolean
    Tests if the browser is Safari.
    boolean
    Checks if the browser is so old that it simply won't work.
    boolean
    Tests if the browser is using the Trident engine.
    boolean
    Tests if the browser is using the WebKit engine.
    boolean
    Tests if the browser is run on Windows.
    boolean
    Tests if the browser is run on Windows Phone.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • BrowserDetails

      public BrowserDetails(String userAgent)
      Create an instance based on the given user agent.
      Parameters:
      userAgent - User agent as provided by the browser.
  • Method Details

    • isFirefox

      public boolean isFirefox()
      Tests if the browser is Firefox.
      Returns:
      true if it is Firefox, false otherwise
    • isGecko

      public boolean isGecko()
      Tests if the browser is using the Gecko engine.
      Returns:
      true if it is Gecko, false otherwise
    • isWebKit

      public boolean isWebKit()
      Tests if the browser is using the WebKit engine.
      Returns:
      true if it is WebKit, false otherwise
    • isPresto

      public boolean isPresto()
      Tests if the browser is using the Presto engine.
      Returns:
      true if it is Presto, false otherwise
    • isTrident

      public boolean isTrident()
      Tests if the browser is using the Trident engine.
      Returns:
      true if it is Trident, false otherwise
    • isSafari

      public boolean isSafari()
      Tests if the browser is Safari.
      Returns:
      true if it is Safari, false otherwise
    • isChrome

      public boolean isChrome()
      Tests if the browser is Chrome.
      Returns:
      true if it is Chrome, false otherwise
    • isOpera

      public boolean isOpera()
      Tests if the browser is Opera.
      Returns:
      true if it is Opera, false otherwise
    • isIE

      public boolean isIE()
      Tests if the browser is Internet Explorer.
      Returns:
      true if it is Internet Explorer, false otherwise
    • isEdge

      public boolean isEdge()
      Tests if the browser is Edge.
      Returns:
      true if it is Edge, false otherwise
    • getBrowserEngineVersion

      public float getBrowserEngineVersion()
      Returns the version of the browser engine. For WebKit this is an integer e.g., 532.0. For gecko it is a float e.g., 1.8 or 1.9.
      Returns:
      The version of the browser engine
    • getBrowserMajorVersion

      public final int getBrowserMajorVersion()
      Returns the browser major version e.g., 3 for Firefox 3.5, 4 for Chrome 4, 8 for Internet Explorer 8.

      Note that Internet Explorer 8 and newer will return the document mode so IE8 rendering as IE7 will return 7.

      Returns:
      The major version of the browser.
    • getBrowserMinorVersion

      public final int getBrowserMinorVersion()
      Returns the browser minor version e.g., 5 for Firefox 3.5.
      Returns:
      The minor version of the browser, or -1 if not known/parsed.
      See Also:
    • isWindows

      public boolean isWindows()
      Tests if the browser is run on Windows.
      Returns:
      true if run on Windows, false otherwise
    • isWindowsPhone

      public boolean isWindowsPhone()
      Tests if the browser is run on Windows Phone.
      Returns:
      true if run on Windows Phone, false otherwise
    • isMacOSX

      public boolean isMacOSX()
      Tests if the browser is run on Mac OSX.
      Returns:
      true if run on Mac OSX, false otherwise
    • isLinux

      public boolean isLinux()
      Tests if the browser is run on Linux.
      Returns:
      true if run on Linux, false otherwise
    • isAndroid

      public boolean isAndroid()
      Tests if the browser is run on Android.
      Returns:
      true if run on Android, false otherwise
    • isIPhone

      public boolean isIPhone()
      Tests if the browser is run on iPhone.
      Returns:
      true if run on iPhone, false otherwise
    • isChromeOS

      public boolean isChromeOS()
      Tests if the browser is run on Chrome OS (e.g. a Chromebook).
      Returns:
      true if run on Chrome OS, false otherwise
    • getOperatingSystemMajorVersion

      public int getOperatingSystemMajorVersion()
      Returns the major version of the operating system. Currently only supported for mobile devices (iOS/Android)
      Returns:
      The major version or -1 if unknown
    • getOperatingSystemMinorVersion

      public int getOperatingSystemMinorVersion()
      Returns the minor version of the operating system. Currently only supported for mobile devices (iOS/Android)
      Returns:
      The minor version or -1 if unknown
    • isTooOldToFunctionProperly

      public boolean isTooOldToFunctionProperly()
      Checks if the browser is so old that it simply won't work.
      Returns:
      true if the browser won't work, false if not the browser is supported or might work