
com.sap.mobile.services.client.push.BaiduNotification Maven / Gradle / Ivy
The newest version!
package com.sap.mobile.services.client.push;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
public interface BaiduNotification {
static Builder builder() {
return new Builder();
}
BaiduNotificationAndroid getAndroid();
BaiduNotificationIos getIos();
BaiduMsgType getMsgType();
/**
* Baidu notification properties
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
@AllArgsConstructor(access = AccessLevel.PRIVATE)
final class Builder {
private BaiduNotificationAndroid android;
private BaiduNotificationIos ios;
private BaiduMsgType msgType;
/** Android specific notification settings */
public Builder android(BaiduNotificationAndroid android) {
return new Builder(android, this.ios, this.msgType);
}
/** APNS specific notification settings */
public Builder ios(BaiduNotificationIos ios) {
return new Builder(this.android, ios, this.msgType);
}
/**
* The Baidu msgType is optional:
*
* - TRANSPARENT
*
- NOTIFICATION visible - default
*
*/
public Builder msgType(BaiduMsgType msgType) {
return new Builder(this.android, this.ios, msgType);
}
public BaiduNotification build() {
return new BaiduNotificationObject(this.android, this.ios, this.msgType);
}
@Getter
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
private static class BaiduNotificationObject implements BaiduNotification {
private final BaiduNotificationAndroid android;
private final BaiduNotificationIos ios;
private final BaiduMsgType msgType;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy