Package tigase.push.apns
Class APNsBinaryApiProvider
java.lang.Object
tigase.push.AbstractProvider
tigase.push.apns.APNsBinaryApiProvider
- All Implemented Interfaces:
tigase.kernel.beans.config.ConfigurationChangedAware,tigase.kernel.beans.Initializable,tigase.kernel.beans.UnregisterAware,IPushProvider,SSLCertificateExpirationAware,tigase.stats.ComponentStatisticsProvider,tigase.stats.StatisticsProviderIfc
@Bean(name="apns-binary-api",
parent=PushNotificationsComponent.class,
active=false)
public class APNsBinaryApiProvider
extends AbstractProvider
implements IPushProvider, tigase.kernel.beans.config.ConfigurationChangedAware, tigase.kernel.beans.Initializable, tigase.kernel.beans.UnregisterAware, SSLCertificateExpirationAware
Created by andrzej on 05.01.2017.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic enumNested classes/interfaces inherited from interface tigase.push.api.IPushProvider
IPushProvider.FeatureNested classes/interfaces inherited from interface tigase.push.monitor.SSLCertificateExpirationAware
SSLCertificateExpirationAware.Result -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbeanConfigurationChanged(Collection<String> changedFields) voidvoidvoidprotected ApnsPayload.BuilderprepareEncryptedPayload(ApnsPayload.Builder builder, IEncryptedNotification notification) protected ApnsPayload.BuilderpreparePayload(ApnsPayload.Builder builder, INotification notification, APNsBinaryApiProvider.NotificationType notificationType) protected ApnsPayload.BuilderpreparePlainPayload(ApnsPayload.Builder builder, IPlainNotification notification, APNsBinaryApiProvider.NotificationType notificationType) pushNotification(IPushSettings.IDevice device, INotification notification) protected CompletableFuture<String> pushNotification(IPushSettings.IDevice device, ApnsNotification apnsNotification, ApnsService service, ApnsService fallbackService) voidvoidvoidsetAPNSCertificate(String base64certificate, String base64pushkitCertificate, String certificatePassword) voidsetAPNSEncryptionKey(String encryptionKeyId, String encryptionKey, String teamId) voidsetUserRepository(tigase.db.UserRepository userRepository) Methods inherited from class tigase.push.AbstractProvider
everyHour, everyMinute, everySecond, getData, getDataMap, getName, getStatistics, pushFailed, removeData, sendingPush, setData, unregisterDeviceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface tigase.stats.ComponentStatisticsProvider
belongsToMethods inherited from interface tigase.push.api.IPushProvider
getName
-
Field Details
-
eventBus
protected final tigase.eventbus.EventBus eventBus
-
-
Constructor Details
-
APNsBinaryApiProvider
public APNsBinaryApiProvider()
-
-
Method Details
-
getDescription
- Specified by:
getDescriptionin interfaceIPushProvider
-
initialize
public void initialize()- Specified by:
initializein interfacetigase.kernel.beans.Initializable
-
maxPayloadSize
- Specified by:
maxPayloadSizein interfaceIPushProvider
-
supportedFeatures
- Specified by:
supportedFeaturesin interfaceIPushProvider
-
pushNotification
public CompletableFuture<String> pushNotification(IPushSettings.IDevice device, INotification notification) - Specified by:
pushNotificationin interfaceIPushProvider- Parameters:
device-notification-- Returns:
- notification ID as String
-
getSSLCertificatesValidPeriod
- Specified by:
getSSLCertificatesValidPeriodin interfaceSSLCertificateExpirationAware
-
pushNotification
protected CompletableFuture<String> pushNotification(IPushSettings.IDevice device, ApnsNotification apnsNotification, ApnsService service, ApnsService fallbackService) -
beforeUnregister
public void beforeUnregister()- Specified by:
beforeUnregisterin interfacetigase.kernel.beans.UnregisterAware
-
certificateChange
@HandleEvent(filter=remote) public void certificateChange(APNsBinaryApiProvider.APNSCertificateChangedEvent event) -
reloadAPNSCertificateFromRepository
public void reloadAPNSCertificateFromRepository() throws tigase.db.TigaseDBException- Throws:
tigase.db.TigaseDBException
-
reloadAPNSSecretsFromRepository
public void reloadAPNSSecretsFromRepository() throws tigase.db.TigaseDBException- Throws:
tigase.db.TigaseDBException
-
setAPNSCertificate
public void setAPNSCertificate(String base64certificate, String base64pushkitCertificate, String certificatePassword) throws tigase.db.TigaseDBException - Throws:
tigase.db.TigaseDBException
-
setAPNSEncryptionKey
public void setAPNSEncryptionKey(String encryptionKeyId, String encryptionKey, String teamId) throws tigase.db.TigaseDBException - Throws:
tigase.db.TigaseDBException
-
beanConfigurationChanged
- Specified by:
beanConfigurationChangedin interfacetigase.kernel.beans.config.ConfigurationChangedAware
-
preparePayload
protected ApnsPayload.Builder preparePayload(ApnsPayload.Builder builder, INotification notification, APNsBinaryApiProvider.NotificationType notificationType) -
preparePlainPayload
protected ApnsPayload.Builder preparePlainPayload(ApnsPayload.Builder builder, IPlainNotification notification, APNsBinaryApiProvider.NotificationType notificationType) -
prepareEncryptedPayload
protected ApnsPayload.Builder prepareEncryptedPayload(ApnsPayload.Builder builder, IEncryptedNotification notification) -
setUserRepository
public void setUserRepository(tigase.db.UserRepository userRepository) - Overrides:
setUserRepositoryin classAbstractProvider
-