From 8b6c4d21ccbd43a29c8d7e90c8a98449e27d268a Mon Sep 17 00:00:00 2001 From: shoyebi Date: Wed, 6 May 2015 21:43:05 +0530 Subject: [PATCH] Useful Enums --- .../wns/client/WnsResourceBuilder.java | 6 ++++-- .../model/WnsNotificationRequestOptional.java | 13 ++++++++---- ...sType.java => WnsCachePolicyTypeEnum.java} | 20 +++++++++++++++---- ....java => WnsRequestForStatusTypeEnum.java} | 17 +++++++++++++--- 4 files changed, 43 insertions(+), 13 deletions(-) rename src/main/java/ar/com/fernandospr/wns/model/types/{WnsRequestForStatusType.java => WnsCachePolicyTypeEnum.java} (50%) rename src/main/java/ar/com/fernandospr/wns/model/types/{WnsCachePolicyType.java => WnsRequestForStatusTypeEnum.java} (51%) diff --git a/src/main/java/ar/com/fernandospr/wns/client/WnsResourceBuilder.java b/src/main/java/ar/com/fernandospr/wns/client/WnsResourceBuilder.java index 098688d..2295abe 100644 --- a/src/main/java/ar/com/fernandospr/wns/client/WnsResourceBuilder.java +++ b/src/main/java/ar/com/fernandospr/wns/client/WnsResourceBuilder.java @@ -6,7 +6,9 @@ import ar.com.fernandospr.wns.model.WnsAbstractNotification; import ar.com.fernandospr.wns.model.WnsNotificationRequestOptional; +import ar.com.fernandospr.wns.model.types.WnsCachePolicyTypeEnum; import ar.com.fernandospr.wns.model.types.WnsNotificationType; +import ar.com.fernandospr.wns.model.types.WnsRequestForStatusTypeEnum; public abstract class WnsResourceBuilder { @@ -24,10 +26,10 @@ public Invocation.Builder build(WebTarget target, WnsAbstractNotification notifi protected void addOptionalHeaders(Invocation.Builder webResourceBuilder, WnsNotificationRequestOptional optional) { if (optional != null) { - if (!emptyString(optional.cachePolicy)) { + if (optional.cachePolicy != WnsCachePolicyTypeEnum.DEFAULT) { webResourceBuilder.header("X-WNS-Cache-Policy", optional.cachePolicy); } - if (!emptyString(optional.requestForStatus)) { + if (optional.requestForStatus != WnsRequestForStatusTypeEnum.DEFAULT) { webResourceBuilder.header("X-WNS-RequestForStatus", optional.requestForStatus); } if (!emptyString(optional.tag)) { diff --git a/src/main/java/ar/com/fernandospr/wns/model/WnsNotificationRequestOptional.java b/src/main/java/ar/com/fernandospr/wns/model/WnsNotificationRequestOptional.java index 727f55f..034a73e 100644 --- a/src/main/java/ar/com/fernandospr/wns/model/WnsNotificationRequestOptional.java +++ b/src/main/java/ar/com/fernandospr/wns/model/WnsNotificationRequestOptional.java @@ -1,20 +1,25 @@ package ar.com.fernandospr.wns.model; +import ar.com.fernandospr.wns.model.types.WnsCachePolicyTypeEnum; +import ar.com.fernandospr.wns.model.types.WnsRequestForStatusTypeEnum; + /** * Optional headers from http://msdn.microsoft.com/en-us/library/windows/apps/hh465435.aspx#send_notification_request */ public class WnsNotificationRequestOptional { /** - * Should be any of {@link ar.com.fernandospr.wns.model.types.WnsCachePolicyType} + * Should be any of {@link ar.com.fernandospr.wns.model.types.WnsCachePolicyTypeEnum} */ - public String cachePolicy; + public WnsCachePolicyTypeEnum cachePolicy; /** - * Should be any of {@link ar.com.fernandospr.wns.model.types.WnsRequestForStatusType} + * Should be any of {@link ar.com.fernandospr.wns.model.types.WnsRequestForStatusTypeEnum} */ - public String requestForStatus; + public WnsRequestForStatusTypeEnum requestForStatus; public String tag; public String ttl; + + } diff --git a/src/main/java/ar/com/fernandospr/wns/model/types/WnsRequestForStatusType.java b/src/main/java/ar/com/fernandospr/wns/model/types/WnsCachePolicyTypeEnum.java similarity index 50% rename from src/main/java/ar/com/fernandospr/wns/model/types/WnsRequestForStatusType.java rename to src/main/java/ar/com/fernandospr/wns/model/types/WnsCachePolicyTypeEnum.java index 7aee23e..f4ebae9 100644 --- a/src/main/java/ar/com/fernandospr/wns/model/types/WnsRequestForStatusType.java +++ b/src/main/java/ar/com/fernandospr/wns/model/types/WnsCachePolicyTypeEnum.java @@ -3,7 +3,19 @@ /** * From http://msdn.microsoft.com/en-us/library/windows/apps/hh465435.aspx#send_notification_request */ -public final class WnsRequestForStatusType { - public static final String TRUE = "true"; - public static final String FALSE = "false"; -} +public enum WnsCachePolicyTypeEnum{ + DEFAULT(0, ""), + CACHE(1,"cache"), + NOCACHE(2,"no-cache") + ; + + private int type; + private String label; + + private WnsCachePolicyTypeEnum(int type, String label) + { + this.type = type; + this.label = label; + } + +} \ No newline at end of file diff --git a/src/main/java/ar/com/fernandospr/wns/model/types/WnsCachePolicyType.java b/src/main/java/ar/com/fernandospr/wns/model/types/WnsRequestForStatusTypeEnum.java similarity index 51% rename from src/main/java/ar/com/fernandospr/wns/model/types/WnsCachePolicyType.java rename to src/main/java/ar/com/fernandospr/wns/model/types/WnsRequestForStatusTypeEnum.java index b29688d..12189a3 100644 --- a/src/main/java/ar/com/fernandospr/wns/model/types/WnsCachePolicyType.java +++ b/src/main/java/ar/com/fernandospr/wns/model/types/WnsRequestForStatusTypeEnum.java @@ -3,7 +3,18 @@ /** * From http://msdn.microsoft.com/en-us/library/windows/apps/hh465435.aspx#send_notification_request */ -public final class WnsCachePolicyType { - public static final String CACHE = "cache"; - public static final String NOCACHE = "no-cache"; +public enum WnsRequestForStatusTypeEnum { + DEFAULT(0,""), + TRUE(1,"true"), + FALSE(2,"false") + ; + + private int type; + private String label; + private WnsRequestForStatusTypeEnum(int type, String label) + { + this.type = type; + this.label = label; + } + }