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;
+ }
+
}