Interface DeviceControlApi

  • All Known Implementing Classes:
    DeviceControlApiImpl

    public interface DeviceControlApi
    API for creating, updating and retrieving operations from the platform.
    • Method Detail

      • getOperation

        OperationRepresentation getOperation​(GId gid)
                                      throws SDKException
        Gets operation by id
        Parameters:
        gid - id of the operation to search for
        Returns:
        the operation with the given id
        Throws:
        SDKException - if the operation is not found or if the query failed
      • create

        OperationRepresentation create​(OperationRepresentation operation)
                                throws SDKException
        Creates operation in the platform. The id of the operation must not be set, since it will be generated by the platform
        Parameters:
        operation - operation to be created
        Returns:
        the created operation with the generated id
        Throws:
        SDKException - if the operation could not be created
      • updateAsync

        Future updateAsync​(OperationRepresentation operation)
                    throws SDKException
        Updates operation in the platform. Immediate response is available through the Future object. In case of lost connection, buffers data in persistence provider.
        Parameters:
        operation - to be updated
        Returns:
        the updated operation
        Throws:
        SDKException - if the operation could not be updated
      • getOperations

        OperationCollection getOperations()
                                   throws SDKException
        Gets the all the operation in the platform
        Returns:
        collection of operations with paging functionality
        Throws:
        SDKException - if the query failed
      • getOperationsByFilter

        OperationCollection getOperationsByFilter​(OperationFilter filter)
                                           throws SDKException
        Gets the operations from the platform based on specified filter. Queries based on [status, deviceId, agentId] and [deviceId, agentId] are not supported. currently not supported.
        Parameters:
        filter - the filter criteria(s)
        Returns:
        collection of operations matched by the filter with paging functionality
        Throws:
        SDKException - if the query failed
        IllegalArgumentException - in case of queries based on [status, deviceId, agentId] or [ deviceId, agentId]
      • getNotificationsSubscriber

        Subscriber<GId,​OperationRepresentation> getNotificationsSubscriber()
                                                                          throws SDKException
        Gets the notifications subscriber, which allows to receive newly created operations for agent.
         
         Example:
        
          final GId agentId = ...
          Subscriber<GId, OperationRepresentation> subscriber = deviceControlApi.getNotificationsSubscriber();
        
          subscriber.subscribe( agentId , new SubscriptionListener<GId, OperationRepresentation>() {
        
              @Override
              public void onNotification(Subscription<GId> subscription, OperationRepresentation operation) {
                     //process operation
              }
        
              @Override
              public void onError(Subscription<GId> subscription, Throwable ex) {
                  // handle subscribe operation error
              }
          });
          
          
        Returns:
        subscriber
        Throws:
        SDKException - when subscriber creation fail