/** * 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.windows; import java.io.Serializable; import java.util.ArrayList; import java.util.List; /** * Windows specific push notification settings support for Tile, Raw, Badge and Toast messages * For all the templates as much as possible the main parts of the message are re-used. Alert is the main text * as is the badge number for badge notifications. Only specific windows settings are put in this part of the message * and ignored by other message senders. */ public class Windows implements Serializable { private static final long serialVersionUID = 5622394435736364361L; private Type type; private DurationType duration; private BadgeType badge; private TileType tileType; private ToastType toastType; private List<String> images = new ArrayList<>(); private List<String> textFields = new ArrayList<>(); private String page; public Type getType() { return type; } public void setType(Type type) { this.type = type; } public DurationType getDuration() { return duration; } public void setDuration(DurationType duration) { this.duration = duration; } public BadgeType getBadge() { return badge; } public void setBadge(BadgeType badge) { this.badge = badge; } public TileType getTileType() { return tileType; } public void setTileType(TileType tileType) { this.tileType = tileType; } public ToastType getToastType() { return toastType; } public void setToastType(ToastType toastType) { this.toastType = toastType; } public List<String> getImages() { return images; } public void setImages(List<String> images) { this.images = images; } public List<String> getTextFields() { return textFields; } public void setTextFields(List<String> textFields) { this.textFields = textFields; } /** * Returns the page, this is a Windows specific setting that contains the * page in you application to launch when the user 'touches' the notification * in the notification dock. For cordova applications set this to 'cordova' to * launch your app and invoke the javascript callback. * * Payload example: * <pre> * "page": "/MainPage.xaml" * </pre> * @return the page to launch for the notification */ public String getPage() { return page; } public void setPage(String page) { this.page = page; } }