All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.softlayer.api.service.notification.Mobile Maven / Gradle / Ivy

There is a newer version: 0.3.4
Show newest version
package com.softlayer.api.service.notification;

import com.softlayer.api.ApiClient;
import com.softlayer.api.ResponseHandler;
import com.softlayer.api.annotation.ApiMethod;
import com.softlayer.api.annotation.ApiType;
import com.softlayer.api.service.Notification;
import java.util.concurrent.Future;

/**
 * This is an extension of the SoftLayer_Notification class.  These are implementation details specific to those notifications which can be subscribed to and received on a mobile device. 
 *
 * @see SoftLayer_Notification_Mobile
 */
@ApiType("SoftLayer_Notification_Mobile")
public class Mobile extends Notification {

    public Service asService(ApiClient client) {
        return service(client, id);
    }

    public static Service service(ApiClient client) {
        return client.createService(Service.class, null);
    }

    public static Service service(ApiClient client, Long id) {
        return client.createService(Service.class, id == null ? null : id.toString());
    }

    /**
     * SoftLayer Customers can use this service to view all of the available mobile notifications that can be subscribed to.  No mobile notifications are required. 
     *
     * @see SoftLayer_Notification_Mobile
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Notification_Mobile")
    public static interface Service extends Notification.Service {

        public ServiceAsync asAsync();
        public Mask withNewMask();
        public Mask withMask();
        public void setMask(Mask mask);

        /**
         * Create a new subscriber for a given resource. 
         *
         * @see SoftLayer_Notification_Mobile::createSubscriberForMobileDevice
         */
        @ApiMethod
        public Boolean createSubscriberForMobileDevice(String keyName, Long resourceTableId, Long userRecordId);

        /**
         * @see SoftLayer_Notification_Mobile::getObject
         */
        @ApiMethod(value = "getObject", instanceRequired = true)
        public Mobile getObjectForMobile();

    }

    public static interface ServiceAsync extends Notification.ServiceAsync {

        public Mask withNewMask();
        public Mask withMask();
        public void setMask(Mask mask);

        /**
         * Async version of {@link Service#createSubscriberForMobileDevice}
         */
        public Future createSubscriberForMobileDevice(String keyName, Long resourceTableId, Long userRecordId);

        public Future createSubscriberForMobileDevice(String keyName, Long resourceTableId, Long userRecordId, ResponseHandler callback);

        /**
         * Async version of {@link Service#getObjectForMobile}
         */
        public Future getObjectForMobile();

        public Future getObjectForMobile(ResponseHandler callback);

    }

    public static class Mask extends com.softlayer.api.service.Notification.Mask {

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy