From 7b594d695b2801a5ef078d864a77f0a4652bb836 Mon Sep 17 00:00:00 2001 From: Colin McDonald Date: Tue, 21 Jun 2016 17:06:34 -0400 Subject: [PATCH] Convert MaxMindTraits' user_type to an enum --- .../apiv3/maxmind/MaxMindTraits.java | 4 +-- .../apiv3/maxmind/MaxMindUserType.java | 30 +++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 src/main/java/net/frozenorb/apiv3/maxmind/MaxMindUserType.java diff --git a/src/main/java/net/frozenorb/apiv3/maxmind/MaxMindTraits.java b/src/main/java/net/frozenorb/apiv3/maxmind/MaxMindTraits.java index c8edf7d..54fdb9f 100644 --- a/src/main/java/net/frozenorb/apiv3/maxmind/MaxMindTraits.java +++ b/src/main/java/net/frozenorb/apiv3/maxmind/MaxMindTraits.java @@ -9,7 +9,7 @@ public final class MaxMindTraits { @Getter private String domain; @Getter private int asn; @Getter private String asnOrganization; - @Getter private String type; // TODO: MAKE ENUM + @Getter private MaxMindUserType userType; @Getter private String organization; public MaxMindTraits() {} // For Jackson @@ -19,7 +19,7 @@ public final class MaxMindTraits { this.domain = legacy.getString("domain"); this.asn = legacy.getInteger("autonomous_system_number"); this.asnOrganization = legacy.getString("autonomous_system_organization"); - this.type = legacy.getString("user_type"); + this.userType = MaxMindUserType.valueOf(legacy.getString("user_type").toUpperCase()); this.organization = legacy.getString("organization"); } diff --git a/src/main/java/net/frozenorb/apiv3/maxmind/MaxMindUserType.java b/src/main/java/net/frozenorb/apiv3/maxmind/MaxMindUserType.java new file mode 100644 index 0000000..b4f2fbd --- /dev/null +++ b/src/main/java/net/frozenorb/apiv3/maxmind/MaxMindUserType.java @@ -0,0 +1,30 @@ +package net.frozenorb.apiv3.maxmind; + +import lombok.Getter; + +public enum MaxMindUserType { + + BUSINESS(true), + CAFE(true), + CELLULAR(true), + COLLEGE(true), + CONTENT_DELIVERY_NETWORK(false), + DIALUP(true), + GOVERNMENT(true), + HOSTING(false), + LIBRARY(true), + MILITARY(true), + RESIDENTIAL(true), + ROUTER(true), + SCHOOL(true), + SEARCH_ENGINE_SPIDER(false), + TRAVELER(true); + + // TODO: ACTUALLY CARE ABOUT THIS + @Getter private boolean allowed; + + MaxMindUserType(boolean allowed) { + this.allowed = allowed; + } + +} \ No newline at end of file