Package tigase.push.apns
Class APNsBinaryApiProvider
- java.lang.Object
-
- 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 java.lang.Object implements IPushProvider, tigase.kernel.beans.config.ConfigurationChangedAware, tigase.kernel.beans.Initializable, tigase.kernel.beans.UnregisterAware, tigase.stats.ComponentStatisticsProvider, SSLCertificateExpirationAwareCreated by andrzej on 05.01.2017.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAPNsBinaryApiProvider.APNSCertificateChangedEvent-
Nested classes/interfaces inherited from interface tigase.push.api.IPushProvider
IPushProvider.Feature
-
Nested classes/interfaces inherited from interface tigase.push.monitor.SSLCertificateExpirationAware
SSLCertificateExpirationAware.Result
-
-
Field Summary
Fields Modifier and Type Field Description protected tigase.eventbus.EventBuseventBus
-
Constructor Summary
Constructors Constructor Description APNsBinaryApiProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbeanConfigurationChanged(java.util.Collection<java.lang.String> changedFields)voidbeforeUnregister()voidcertificateChange(APNsBinaryApiProvider.APNSCertificateChangedEvent event)voideveryHour()voideveryMinute()voideverySecond()java.lang.StringgetDescription()java.lang.StringgetName()java.util.stream.Stream<SSLCertificateExpirationAware.Result>getSSLCertificatesValidPeriod()voidgetStatistics(java.lang.String compName, tigase.stats.StatisticsList list)voidinitialize()java.util.Optional<java.lang.Integer>maxPayloadSize()protected ApnsPayload.BuilderprepareEncryptedPayload(ApnsPayload.Builder builder, IEncryptedNotification notification)protected ApnsPayload.BuilderpreparePayload(ApnsPayload.Builder builder, INotification notification)protected ApnsPayload.BuilderpreparePlainPayload(ApnsPayload.Builder builder, IPlainNotification notification)java.util.concurrent.CompletableFuture<java.lang.String>pushNotification(IPushSettings.IDevice device, INotification notification)protected java.util.concurrent.CompletableFuture<java.lang.String>pushNotification(IPushSettings.IDevice device, ApnsNotification apnsNotification, ApnsService service, ApnsService fallbackService)voidreloadAPNSCertificateFromRepository()voidsetAPNSCertificate(java.lang.String base64certificate, java.lang.String base64pushkitCertificate, java.lang.String certificatePassword)voidsetUserRepository(tigase.db.UserRepository userRepository)java.util.Set<IPushProvider.Feature>supportedFeatures()protected voidunregisterDevice(java.lang.String deviceId)
-
-
-
Method Detail
-
getName
public java.lang.String getName()
- Specified by:
getNamein interfaceIPushProvider
-
getDescription
public java.lang.String getDescription()
- Specified by:
getDescriptionin interfaceIPushProvider
-
initialize
public void initialize()
- Specified by:
initializein interfacetigase.kernel.beans.Initializable
-
maxPayloadSize
public java.util.Optional<java.lang.Integer> maxPayloadSize()
- Specified by:
maxPayloadSizein interfaceIPushProvider
-
supportedFeatures
public java.util.Set<IPushProvider.Feature> supportedFeatures()
- Specified by:
supportedFeaturesin interfaceIPushProvider
-
pushNotification
public java.util.concurrent.CompletableFuture<java.lang.String> pushNotification(IPushSettings.IDevice device, INotification notification)
- Specified by:
pushNotificationin interfaceIPushProvider- Returns:
- notification ID as String
-
getSSLCertificatesValidPeriod
public java.util.stream.Stream<SSLCertificateExpirationAware.Result> getSSLCertificatesValidPeriod()
- Specified by:
getSSLCertificatesValidPeriodin interfaceSSLCertificateExpirationAware
-
pushNotification
protected java.util.concurrent.CompletableFuture<java.lang.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
-
setAPNSCertificate
public void setAPNSCertificate(java.lang.String base64certificate, java.lang.String base64pushkitCertificate, java.lang.String certificatePassword) throws tigase.db.TigaseDBException- Throws:
tigase.db.TigaseDBException
-
beanConfigurationChanged
public void beanConfigurationChanged(java.util.Collection<java.lang.String> changedFields)
- Specified by:
beanConfigurationChangedin interfacetigase.kernel.beans.config.ConfigurationChangedAware
-
everyHour
public void everyHour()
- Specified by:
everyHourin interfacetigase.stats.ComponentStatisticsProvider
-
everyMinute
public void everyMinute()
- Specified by:
everyMinutein interfacetigase.stats.ComponentStatisticsProvider
-
everySecond
public void everySecond()
- Specified by:
everySecondin interfacetigase.stats.ComponentStatisticsProvider
-
getStatistics
public void getStatistics(java.lang.String compName, tigase.stats.StatisticsList list)- Specified by:
getStatisticsin interfacetigase.stats.StatisticsProviderIfc
-
preparePayload
protected ApnsPayload.Builder preparePayload(ApnsPayload.Builder builder, INotification notification)
-
preparePlainPayload
protected ApnsPayload.Builder preparePlainPayload(ApnsPayload.Builder builder, IPlainNotification notification)
-
prepareEncryptedPayload
protected ApnsPayload.Builder prepareEncryptedPayload(ApnsPayload.Builder builder, IEncryptedNotification notification)
-
unregisterDevice
protected void unregisterDevice(java.lang.String deviceId)
-
setUserRepository
public void setUserRepository(tigase.db.UserRepository userRepository)
-
-