T
- Type of the data contained within a notification@Beta public abstract class JsonNotificationCallback<T> extends TypedNotificationCallback<T>
Beta
TypedNotificationCallback
which uses an JSON content encoding.
Must NOT be implemented in form of an anonymous class as this will break serialization.
Implementation should be thread-safe. Example usage:
static class MyNotificationCallback
extends JsonNotificationCallback{@literal <}ListResponse{@literal >} {
private static final long serialVersionUID = 1L;
{@literal @}Override
protected void onNotification(StoredChannel channel,
TypedNotification{@literal <}ListResponse{@literal >} notification) {
ListResponse content = notification.getContent();
switch (notification.getResourceState()) {
case ResourceStates.SYNC:
break;
case ResourceStates.EXISTS:
break;
case ResourceStates.NOT_EXISTS:
break;
}
}
{@literal @}Override
protected JsonFactory getJsonFactory() throws IOException {
return new GsonFactory();
}
{@literal @}Override
protected Class{@literal <}ListResponse{@literal >} getDataClass() throws IOException {
return ListResponse.class;
}
}
Constructor and Description |
---|
JsonNotificationCallback() |
Modifier and Type | Method and Description |
---|---|
protected abstract JsonFactory |
getJsonFactory()
Returns the JSON factory to use to parse the notification content.
|
protected JsonObjectParser |
getObjectParser()
Returns an
ObjectParser which can be used to parse this notification. |
getDataClass, onNotification, onNotification
protected final JsonObjectParser getObjectParser() throws IOException
TypedNotificationCallback
ObjectParser
which can be used to parse this notification.getObjectParser
in class TypedNotificationCallback<T>
IOException
protected abstract JsonFactory getJsonFactory() throws IOException
IOException
Copyright © 2010–2022 Google. All rights reserved.