From 831a8ca09096098c73350f9658e2d22df645b717 Mon Sep 17 00:00:00 2001 From: alexander_radzin Date: Mon, 28 Mar 2016 18:37:55 +0300 Subject: [PATCH] #145: created default constructors for all non-enum classes (UserAgent and Version). This allows using these clases by APIs that require default constructor, e.g. Jackson --- .../eu/bitwalker/useragentutils/UserAgent.java | 16 ++++++++++++++-- .../eu/bitwalker/useragentutils/Version.java | 10 ++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/main/java/eu/bitwalker/useragentutils/UserAgent.java b/src/main/java/eu/bitwalker/useragentutils/UserAgent.java index a3699b2..8fd2d67 100644 --- a/src/main/java/eu/bitwalker/useragentutils/UserAgent.java +++ b/src/main/java/eu/bitwalker/useragentutils/UserAgent.java @@ -69,11 +69,23 @@ public class UserAgent implements Serializable { private static final long serialVersionUID = 7025462762784240212L; - private OperatingSystem operatingSystem = OperatingSystem.UNKNOWN; - private Browser browser = Browser.UNKNOWN; + private OperatingSystem operatingSystem; + private Browser browser; private int id; private String userAgentString; + + /** + * This constructor is created for APIs that require default constructor + * and should never be used directly. + * @deprecated Use {@link #UserAgent(OperatingSystem, Browser)} + */ + @Deprecated + public UserAgent() + { + this(OperatingSystem.UNKNOWN, Browser.UNKNOWN); + } + public UserAgent(OperatingSystem operatingSystem, Browser browser) { this.operatingSystem = operatingSystem; diff --git a/src/main/java/eu/bitwalker/useragentutils/Version.java b/src/main/java/eu/bitwalker/useragentutils/Version.java index 6d5b695..a7619e8 100644 --- a/src/main/java/eu/bitwalker/useragentutils/Version.java +++ b/src/main/java/eu/bitwalker/useragentutils/Version.java @@ -48,6 +48,16 @@ public class Version implements Comparable { String majorVersion; String minorVersion; + /** + * This constructor is created for APIs that require default constructor + * and should never be used directly. + * @deprecated Use {@link #Version(String, String, String)} + */ + @Deprecated + public Version() { + // default constructor for APIs that require it (e.g. JSON serialization) + } + public Version(String version, String majorVersion, String minorVersion) { super(); this.version = version;