protected TableResult execute(final CloudTableClient client, final String tableName, TableRequestOptions options,
            OperationContext opContext) throws StorageException {
        if (opContext == null) {
            opContext = new OperationContext();
        }

        opContext.initialize();
        options = TableRequestOptions.populateAndApplyDefaults(options, client);
        Utility.assertNotNullOrEmpty(TableConstants.TABLE_NAME, tableName);

        if (this.getOperationType() == TableOperationType.INSERT
                || this.getOperationType() == TableOperationType.INSERT_OR_MERGE
                || this.getOperationType() == TableOperationType.INSERT_OR_REPLACE) {
            return this.performInsert(client, tableName, options, opContext);
        }
        else if (this.getOperationType() == TableOperationType.DELETE) {
            return this.performDelete(client, tableName, options, opContext);
        }
        else if (this.getOperationType() == TableOperationType.MERGE) {
            return this.performMerge(client, tableName, options, opContext);
        }
        else if (this.getOperationType() == TableOperationType.REPLACE) {
            return this.performUpdate(client, tableName, options, opContext);
        }
        else if (this.getOperationType() == TableOperationType.RETRIEVE) {
            return ((QueryTableOperation) this).performRetrieve(client, tableName, options, opContext);
        }
        else {
            throw new IllegalArgumentException(SR.UNKNOWN_TABLE_OPERATION);
        }
    }
protected TableResult execute(final CloudTableClient client, final String tableName, TableRequestOptions options,
            OperationContext opContext) throws StorageException {
        if (opContext == null) {
            opContext = new OperationContext();
        }

        opContext.initialize();
        options = TableRequestOptions.populateAndApplyDefaults(options, client);
        Utility.assertNotNullOrEmpty(TableConstants.TABLE_NAME, tableName);

        if (this.getOperationType() == TableOperationType.INSERT
                || this.getOperationType() == TableOperationType.INSERT_OR_MERGE
                || this.getOperationType() == TableOperationType.INSERT_OR_REPLACE) {
            return this.performInsert(client, tableName, options, opContext);
        }
        else if (this.getOperationType() == TableOperationType.DELETE) {
            return this.performDelete(client, tableName, options, opContext);
        }
        else if (this.getOperationType() == TableOperationType.MERGE) {
            return this.performMerge(client, tableName, options, opContext);
        }
        else if (this.getOperationType() == TableOperationType.REPLACE) {
            return this.performUpdate(client, tableName, options, opContext);
        }
        else if (this.getOperationType() == TableOperationType.RETRIEVE) {
            return ((QueryTableOperation) this).performRetrieve(client, tableName, options, opContext);
        }
        else {
            throw new IllegalArgumentException(SR.UNKNOWN_TABLE_OPERATION);
        }
    }
protected TableResult execute ( final CloudTableClient client , final String tableName , TableRequestOptions options , OperationContext opContext ) throws StorageException { if ( opContext == null ) { opContext = new OperationContext ( ) ; } opContext . initialize ( ) ; options = TableRequestOptions . populateAndApplyDefaults ( options , client ) ; Utility . assertNotNullOrEmpty ( TableConstants . TABLE_NAME , tableName ) ; if ( this . getOperationType ( ) == TableOperationType . INSERT || this . getOperationType ( ) == TableOperationType . INSERT_OR_MERGE || this . getOperationType ( ) == TableOperationType . INSERT_OR_REPLACE ) { return this . performInsert ( client , tableName , options , opContext ) ; } else if ( this . getOperationType ( ) == TableOperationType . DELETE ) { return this . performDelete ( client , tableName , options , opContext ) ; } else if ( this . getOperationType ( ) == TableOperationType . MERGE ) { return this . performMerge ( client , tableName , options , opContext ) ; } else if ( this . getOperationType ( ) == TableOperationType . REPLACE ) { return this . performUpdate ( client , tableName , options , opContext ) ; } else if ( this . getOperationType ( ) == TableOperationType . RETRIEVE ) { return ( ( QueryTableOperation ) this ) . performRetrieve ( client , tableName , options , opContext ) ; } else { throw new IllegalArgumentException ( SR . UNKNOWN_TABLE_OPERATION ) ; } }
Reserved for internal use. Execute this table operation on the specified table, using the specified
{@link TableRequestOptions} and {@link OperationContext}.
<p>
This method will invoke the Storage Service REST API to execute this table operation, using the Table service
endpoint and storage account credentials in the {@link CloudTableClient} object.

@param client
A {@link CloudTableClient} instance specifying the Table service endpoint, storage account
credentials, and any additional query parameters.
@param tableName
A <code>String</code> which specifies the name of the table.
@param options
A {@link TableRequestOptions} object that specifies execution options such as retry policy and timeout
settings for the operation.
@param opContext
An {@link OperationContext} object for tracking the current operation.

@return
A {@link TableResult} which represents the results of executing the operation.

@throws StorageException
if an error occurs in the storage operation.
Reserved for internal use . Execute this table operation on the specified table using the specified { @link TableRequestOptions } and { @link OperationContext } . <p > This method will invoke the Storage Service REST API to execute this table operation using the Table service endpoint and storage account credentials in the { @link CloudTableClient } object .