/** * JBoss, Home of Professional Open Source * Copyright Red Hat, Inc., and individual contributors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.jboss.aerogear.unifiedpush.message.apns; import org.codehaus.jackson.annotate.JsonProperty; import org.codehaus.jackson.map.annotate.JsonRootName; import java.io.Serializable; /** * iOS specific settings for Push Notifications */ @JsonRootName("apns") public class APNs implements Serializable { private static final long serialVersionUID = 1721248899064332647L; @JsonProperty("action-category") private String actionCategory; private String title; private String action; @JsonProperty("localized-key") private String localizedKey; @JsonProperty("localized-arguments") private String[] localizedArguments; @JsonProperty("localized-title-key") private String localizedTitleKey; @JsonProperty("localized-title-arguments") private String[] localizedTitleArguments; @JsonProperty("url-args") private String[] urlArgs; @JsonProperty("content-available") private boolean contentAvailable; /** * Returns the value of the 'action-category', which is used on the client (iOS for now), * to invoke a certain "user action" on the device, based on the push message. Implemented for iOS8 */ public String getActionCategory() { return actionCategory; } public void setActionCategory(String actionCategory) { this.actionCategory = actionCategory; } /** * Returns the value of the 'title' key from the submitted payload. * This key is recognized in APNs for Safari, without any API invocation. * */ public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } /** * Returns the value of the 'action' key from the submitted payload. * This key is recognized in APNs for Safari. * */ public String getAction() { return action; } public void setAction(String action) { this.action = action; } /** * Used for in iOS specific feature, to indicate if content (for Newsstand or silent messages) has marked as * being available * * Not supported on other platforms. */ public boolean isContentAvailable() { return contentAvailable; } public void setContentAvailable(boolean contentAvailable) { this.contentAvailable = contentAvailable; } /** * Returns the value of the 'url-args' key from the submitted payload. * This key is recognized in APNs for Safari. * */ public String[] getUrlArgs() { return urlArgs; } public void setUrlArgs(String[] urlArgs) { this.urlArgs = urlArgs; } /** * The key to a title string in the Localizable.strings file for the current localization. */ public String getLocalizedTitleKey() { return localizedTitleKey;} public void setLocalizedTitleKey(String localizedTitleKey) {this.localizedTitleKey = localizedTitleKey;} /** * Sets the arguments for the localizable title key */ public String[] getLocalizedTitleArguments() { return localizedTitleArguments;} public void setLocalizedTitleArguments(String[] localizedTitleArguments) {this.localizedTitleArguments = localizedTitleArguments;} public String getLocalizedKey() { return localizedKey; } public void setLocalizedKey(String localizedKey) { this.localizedKey = localizedKey; } public String[] getLocalizedArguments() { return localizedArguments; } public void setLocalizedArguments(String[] localizedArguments){ this.localizedArguments = localizedArguments; } }