com.smartsheet.api.RowResources Maven / Gradle / Ivy
Show all versions of smartsheet-sdk-java Show documentation
package com.smartsheet.api;
/*
* #[license]
* Smartsheet SDK for Java
* %%
* Copyright (C) 2014 Smartsheet
* %%
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* %[license]
*/
import com.smartsheet.api.models.*;
import com.smartsheet.api.models.enums.ObjectInclusion;
import java.util.EnumSet;
import java.util.List;
/**
* This interface provides methods to access Row resources.
*
* Thread Safety: Implementation of this interface must be thread safe.
*/
public interface RowResources {
/**
* Get a row.
*
* It mirrors to the following Smartsheet REST API method:
* GET /row/{id}
*
* @param id the id
* @param includes used to specify the optional objects to include.
* @return the row resource (note that if there is no such resource, this method will throw
* ResourceNotFoundException rather than returning null).
* @throws IllegalArgumentException if any argument is null or empty string
* @throws InvalidRequestException if there is any problem with the REST API request
* @throws AuthorizationException if there is any problem with the REST API authorization (access token)
* @throws ResourceNotFoundException if the resource cannot be found
* @throws ServiceUnavailableException if the REST API service is not available (possibly due to rate limiting)
* @throws SmartsheetException if there is any other error during the operation
*/
public Row getRow(long id, EnumSet includes) throws SmartsheetException;
/**
* Move a row.
*
* It mirrors to the following Smartsheet REST API method:
* PUT /row/{id}
*
* @param id the id of the row to move
* @param rowWrapper the row wrapper that specifies where to move the row.
* @return the list of rows that have been moved by this operation.
* @throws IllegalArgumentException if any argument is null or empty string
* @throws InvalidRequestException if there is any problem with the REST API request
* @throws AuthorizationException if there is any problem with the REST API authorization (access token)
* @throws ResourceNotFoundException if the resource cannot be found
* @throws ServiceUnavailableException if the REST API service is not available (possibly due to rate limiting)
* @throws SmartsheetException if there is any other error during the operation
*/
public List moveRow(long id, RowWrapper rowWrapper) throws SmartsheetException;
/**
* Delete a row.
*
* It mirrors to the following Smartsheet REST API method:
* DELETE /row{id}
*
* @param id the id of the row
* @throws IllegalArgumentException if any argument is null or empty string
* @throws InvalidRequestException if there is any problem with the REST API request
* @throws AuthorizationException if there is any problem with the REST API authorization (access token)
* @throws ResourceNotFoundException if the resource cannot be found
* @throws ServiceUnavailableException if the REST API service is not available (possibly due to rate limiting)
* @throws SmartsheetException if there is any other error during the operation
*/
public void deleteRow(long id) throws SmartsheetException;
/**
* Send a row via email to the designated recipients.
*
* It mirrors to the following Smartsheet REST API method:
* POST /row/{id}/emails
*
* @param id the id
* @param email the email
* @throws IllegalArgumentException if any argument is null or empty string
* @throws InvalidRequestException if there is any problem with the REST API request
* @throws AuthorizationException if there is any problem with the REST API authorization (access token)
* @throws ResourceNotFoundException if the resource cannot be found
* @throws ServiceUnavailableException if the REST API service is not available (possibly due to rate limiting)
* @throws SmartsheetException if there is any other error during the operation
*/
public void sendRow(long id, RowEmail email) throws SmartsheetException;
/**
* Update the values of the Cells in a Row.
*
* It mirrors to the following Smartsheet REST API method: PUT /row/{id}/cells
*
* @param rowId the row id
* @param cells the cells to update
* @return the list
* @throws IllegalArgumentException if any argument is null or empty string
* @throws InvalidRequestException if there is any problem with the REST API request
* @throws AuthorizationException if there is any problem with the REST API authorization (access token)
* @throws ResourceNotFoundException if the resource cannot be found
* @throws ServiceUnavailableException if the REST API service is not available (possibly due to rate limiting)
* @throws SmartsheetException if there is any other error during the operation
*/
public List updateCells(long rowId, List cells) throws SmartsheetException;
/**
* Get the cell modification history.
*
* It mirrors to the following Smartsheet REST API method:
* GET /row/{rowId}/column/{columnId}/history
*
* @param rowId the row id
* @param columnId the column id
* @return the cell modification history (note that if there is no such resource, this method will throw
* ResourceeNotFoundException rather than returning null).
* @throws IllegalArgumentException if any argument is null or empty string
* @throws InvalidRequestException if there is any problem with the REST API request
* @throws AuthorizationException if there is any problem with the REST API authorization (access token)
* @throws ResourceNotFoundException if the resource cannot be found
* @throws ServiceUnavailableException if the REST API service is not available (possibly due to rate limiting)
* @throws SmartsheetException if there is any other error during the operation
*/
public List getCellHistory(long rowId, long columnId) throws SmartsheetException;
/**
* Return the AssociatedAttachmentResources object that provides access to attachment resources associated with Row
* resources.
*
* @return the associated attachment resources
*/
public AssociatedAttachmentResources attachments();
/**
* Return the AssociatedDiscussionResources object that provides access to discussion resources associated with
* Row resources.
*
* @return the associated discussion resources
*/
public AssociatedDiscussionResources discussions();
} | |