signature:
public class ServicePropertiesSerializer { /** * Writes the contents of the ServiceProperties to the stream in xml format .
 * @ return a byte array of the content to write to the stream .
 * @ throws IOException
 * if there is an error writing the service properties .
 * @ throws IllegalStateException
 * if there is an error writing the service properties .
 * @ throws IllegalArgumentException
 * if there is an error writing the service properties . */
public static byte [ ] serializeToByteArray ( final ServiceProperties properties ) throws IllegalArgumentException , IllegalStateException , IOException { } }

implementation:
final StringWriter outWriter = new StringWriter ( ) ; final XmlSerializer xmlw = Utility . getXmlSerializer ( outWriter ) ; // default is UTF8
xmlw . startDocument ( Constants . UTF8_CHARSET , true ) ; xmlw . startTag ( Constants . EMPTY_STRING , Constants . AnalyticsConstants . STORAGE_SERVICE_PROPERTIES_ELEMENT ) ; if ( properties . getLogging ( ) != null ) { // Logging Properties
writeLoggingProperties ( xmlw , properties . getLogging ( ) ) ; } if ( properties . getHourMetrics ( ) != null ) { // Hour Metrics
writeMetricsProperties ( xmlw , properties . getHourMetrics ( ) , Constants . AnalyticsConstants . HOUR_METRICS_ELEMENT ) ; } if ( properties . getMinuteMetrics ( ) != null ) { // Minute Metrics
writeMetricsProperties ( xmlw , properties . getMinuteMetrics ( ) , Constants . AnalyticsConstants . MINUTE_METRICS_ELEMENT ) ; } if ( properties . getCors ( ) != null ) { // CORS Properties
writeCorsProperties ( xmlw , properties . getCors ( ) ) ; } // Default Service Version
if ( properties . getDefaultServiceVersion ( ) != null ) { Utility . serializeElement ( xmlw , Constants . AnalyticsConstants . DEFAULT_SERVICE_VERSION , properties . getDefaultServiceVersion ( ) ) ; } // end StorageServiceProperties
xmlw . endTag ( Constants . EMPTY_STRING , Constants . AnalyticsConstants . STORAGE_SERVICE_PROPERTIES_ELEMENT ) ; // end doc
xmlw . endDocument ( ) ; return outWriter . toString ( ) . getBytes ( Constants . UTF8_CHARSET ) ;


signature:
public class ServicePropertiesSerializer { /** * Writes the retention policy to the XMLStreamWriter .
 * @ param xmlw
 * the XMLStreamWriter to write to .
 * @ param val
 * the nullable Integer indicating if the retention policy is enabled , and how long
 * @ throws IOException
 * if there is an error writing the service properties .
 * @ throws IllegalStateException
 * if there is an error writing the service properties .
 * @ throws IllegalArgumentException
 * if there is an error writing the service properties . */
private static void writeRetentionPolicy ( final XmlSerializer xmlw , final Integer val ) throws IllegalArgumentException , IllegalStateException , IOException { } }

implementation:
xmlw . startTag ( Constants . EMPTY_STRING , Constants . AnalyticsConstants . RETENTION_POLICY_ELEMENT ) ; // Enabled
Utility . serializeElement ( xmlw , Constants . AnalyticsConstants . ENABLED_ELEMENT , val != null ? Constants . TRUE : Constants . FALSE ) ; if ( val != null ) { // Days
Utility . serializeElement ( xmlw , Constants . AnalyticsConstants . DAYS_ELEMENT , val . toString ( ) ) ; } // End Retention Policy
xmlw . endTag ( Constants . EMPTY_STRING , Constants . AnalyticsConstants . RETENTION_POLICY_ELEMENT ) ;


signature:
public class ServicePropertiesSerializer { /** * Writes the given CORS properties to the XMLStreamWriter .
 * @ param xmlw
 * the XMLStreamWriter to write to .
 * @ param cors
 * the CORS Properties to be written .
 * @ throws IOException
 * if there is an error writing the service properties .
 * @ throws IllegalStateException
 * if there is an error writing the service properties .
 * @ throws IllegalArgumentException
 * if there is an error writing the service properties . */
private static void writeCorsProperties ( final XmlSerializer xmlw , final CorsProperties cors ) throws IllegalArgumentException , IllegalStateException , IOException { } }

implementation:
Utility . assertNotNull ( "CorsRules" , cors . getCorsRules ( ) ) ; // CORS
xmlw . startTag ( Constants . EMPTY_STRING , Constants . AnalyticsConstants . CORS_ELEMENT ) ; for ( CorsRule rule : cors . getCorsRules ( ) ) { if ( rule . getAllowedOrigins ( ) . isEmpty ( ) || rule . getAllowedMethods ( ) . isEmpty ( ) || rule . getMaxAgeInSeconds ( ) < 0 ) { throw new IllegalArgumentException ( SR . INVALID_CORS_RULE ) ; } xmlw . startTag ( Constants . EMPTY_STRING , Constants . AnalyticsConstants . CORS_RULE_ELEMENT ) ; Utility . serializeElement ( xmlw , Constants . AnalyticsConstants . ALLOWED_ORIGINS_ELEMENT , joinToString ( rule . getAllowedOrigins ( ) , "," ) ) ; Utility . serializeElement ( xmlw , Constants . AnalyticsConstants . ALLOWED_METHODS_ELEMENT , joinToString ( rule . getAllowedMethods ( ) , "," ) ) ; Utility . serializeElement ( xmlw , Constants . AnalyticsConstants . EXPOSED_HEADERS_ELEMENT , joinToString ( rule . getExposedHeaders ( ) , "," ) ) ; Utility . serializeElement ( xmlw , Constants . AnalyticsConstants . ALLOWED_HEADERS_ELEMENT , joinToString ( rule . getAllowedHeaders ( ) , "," ) ) ; Utility . serializeElement ( xmlw , Constants . AnalyticsConstants . MAX_AGE_IN_SECONDS_ELEMENT , Integer . toString ( rule . getMaxAgeInSeconds ( ) ) ) ; xmlw . endTag ( Constants . EMPTY_STRING , Constants . AnalyticsConstants . CORS_RULE_ELEMENT ) ; } // end CORS
xmlw . endTag ( Constants . EMPTY_STRING , Constants . AnalyticsConstants . CORS_ELEMENT ) ;


signature:
public class ServicePropertiesSerializer { /** * Writes the given metrics properties to the XMLStreamWriter .
 * @ param xmlw
 * the XMLStreamWriter to write to .
 * @ param metrics
 * the metrics properties to be written .
 * @ param metricsName
 * the type of metrics properties to be written ( Hour or Minute )
 * @ throws IOException
 * if there is an error writing the service properties .
 * @ throws IllegalStateException
 * if there is an error writing the service properties .
 * @ throws IllegalArgumentException
 * if there is an error writing the service properties . */
private static void writeMetricsProperties ( final XmlSerializer xmlw , final MetricsProperties metrics , final String metricsName ) throws IllegalArgumentException , IllegalStateException , IOException { } }

implementation:
Utility . assertNotNull ( "metrics.Configuration" , metrics . getMetricsLevel ( ) ) ; // Metrics
xmlw . startTag ( Constants . EMPTY_STRING , metricsName ) ; // Version
Utility . serializeElement ( xmlw , Constants . AnalyticsConstants . VERSION_ELEMENT , metrics . getVersion ( ) ) ; // Enabled
Utility . serializeElement ( xmlw , Constants . AnalyticsConstants . ENABLED_ELEMENT , metrics . getMetricsLevel ( ) != MetricsLevel . DISABLED ? Constants . TRUE : Constants . FALSE ) ; if ( metrics . getMetricsLevel ( ) != MetricsLevel . DISABLED ) { // Include APIs
Utility . serializeElement ( xmlw , Constants . AnalyticsConstants . INCLUDE_APIS_ELEMENT , metrics . getMetricsLevel ( ) == MetricsLevel . SERVICE_AND_API ? Constants . TRUE : Constants . FALSE ) ; } // Retention Policy
writeRetentionPolicy ( xmlw , metrics . getRetentionIntervalInDays ( ) ) ; // end Metrics
xmlw . endTag ( Constants . EMPTY_STRING , metricsName ) ;


signature:
public class ServicePropertiesSerializer { /** * Writes the given logging properties to the XMLStreamWriter .
 * @ param xmlw
 * the XMLStreamWriter to write to .
 * @ param cors
 * the logging properties to be written .
 * @ throws IOException
 * if there is an error writing the service properties .
 * @ throws IllegalStateException
 * if there is an error writing the service properties .
 * @ throws IllegalArgumentException
 * if there is an error writing the service properties . */
private static void writeLoggingProperties ( final XmlSerializer xmlw , final LoggingProperties logging ) throws IllegalArgumentException , IllegalStateException , IOException { } }

implementation:
Utility . assertNotNull ( "logging.LogOperationTypes" , logging . getLogOperationTypes ( ) ) ; // Logging
xmlw . startTag ( Constants . EMPTY_STRING , Constants . AnalyticsConstants . LOGGING_ELEMENT ) ; // Version
Utility . serializeElement ( xmlw , Constants . AnalyticsConstants . VERSION_ELEMENT , logging . getVersion ( ) ) ; // Delete
Utility . serializeElement ( xmlw , Constants . AnalyticsConstants . DELETE_ELEMENT , logging . getLogOperationTypes ( ) . contains ( LoggingOperations . DELETE ) ? Constants . TRUE : Constants . FALSE ) ; // Read
Utility . serializeElement ( xmlw , Constants . AnalyticsConstants . READ_ELEMENT , logging . getLogOperationTypes ( ) . contains ( LoggingOperations . READ ) ? Constants . TRUE : Constants . FALSE ) ; // Write
Utility . serializeElement ( xmlw , Constants . AnalyticsConstants . WRITE_ELEMENT , logging . getLogOperationTypes ( ) . contains ( LoggingOperations . WRITE ) ? Constants . TRUE : Constants . FALSE ) ; // Retention Policy
writeRetentionPolicy ( xmlw , logging . getRetentionIntervalInDays ( ) ) ; // end Logging
xmlw . endTag ( Constants . EMPTY_STRING , Constants . AnalyticsConstants . LOGGING_ELEMENT ) ;


signature:
public class ServicePropertiesSerializer { /** * Concatenate an Iterable < ? > set of items with a delimiter between each
 * @ param iterable
 * the set of items to concatenate
 * @ param delimiter
 * the character to put between each item
 * @ return the concatenated string */
private static String joinToString ( Iterable < ? > iterable , String delimiter ) { } }

implementation: StringBuilder builder = new StringBuilder ( ) ; Iterator < ? > iter = iterable . iterator ( ) ; while ( iter . hasNext ( ) ) { builder . append ( iter . next ( ) ) ; if ( iter . hasNext ( ) ) { builder . append ( delimiter ) ; } } return builder . toString ( ) ;


signature:
public class FileRequest { /** * Generates a web request to abort a copy operation .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * The access condition to apply to the request . Only lease conditions are supported for this operation .
 * @ param copyId
 * A < code > String < / code > object that identifying the copy operation .
 * @ return a < code > HttpURLConnection < / code > configured for the operation .
 * @ throws StorageException
 * An exception representing any error which occurred during the operation .
 * @ throws IllegalArgumentException
 * @ throws IOException
 * @ throws URISyntaxException */
public static HttpURLConnection abortCopy ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition accessCondition , final String copyId ) throws StorageException , IOException , URISyntaxException { } }

implementation: final UriQueryBuilder builder = new UriQueryBuilder ( ) ; builder . add ( Constants . QueryConstants . COMPONENT , Constants . QueryConstants . COPY ) ; builder . add ( Constants . QueryConstants . COPY_ID , copyId ) ; final HttpURLConnection request = BaseRequest . createURLConnection ( uri , fileOptions , builder , opContext ) ; request . setFixedLengthStreamingMode ( 0 ) ; request . setDoOutput ( true ) ; request . setRequestMethod ( Constants . HTTP_PUT ) ; request . setRequestProperty ( Constants . HeaderConstants . COPY_ACTION_HEADER , Constants . HeaderConstants . COPY_ACTION_ABORT ) ; if ( accessCondition != null ) { accessCondition . applyConditionToRequest ( request ) ; } return request ;


signature:
public class FileRequest { /** * Adds the metadata .
 * @ param request
 * The request .
 * @ param metadata
 * The metadata . */
public static void addMetadata ( final HttpURLConnection request , final Map < String , String > metadata , final OperationContext opContext ) { } }

implementation: BaseRequest . addMetadata ( request , metadata , opContext ) ;


signature:
public class FileRequest { /** * Adds the properties .
 * @ param request
 * The request
 * @ param properties
 * The file properties */
private static void addProperties ( final HttpURLConnection request , FileProperties properties ) { } }

implementation: BaseRequest . addOptionalHeader ( request , FileConstants . CACHE_CONTROL_HEADER , properties . getCacheControl ( ) ) ; BaseRequest . addOptionalHeader ( request , FileConstants . CONTENT_DISPOSITION_HEADER , properties . getContentDisposition ( ) ) ; BaseRequest . addOptionalHeader ( request , FileConstants . CONTENT_ENCODING_HEADER , properties . getContentEncoding ( ) ) ; BaseRequest . addOptionalHeader ( request , FileConstants . CONTENT_LANGUAGE_HEADER , properties . getContentLanguage ( ) ) ; BaseRequest . addOptionalHeader ( request , FileConstants . FILE_CONTENT_MD5_HEADER , properties . getContentMD5 ( ) ) ; BaseRequest . addOptionalHeader ( request , FileConstants . CONTENT_TYPE_HEADER , properties . getContentType ( ) ) ;


signature:
public class FileRequest { /** * Adds the share snapshot if present .
 * Only for listing files and directories which requires a different query param .
 * @ param builder
 * a query builder .
 * @ param snapshotVersion
 * the share snapshot version to the query builder .
 * @ throws StorageException */
public static void addShareSnapshot ( final UriQueryBuilder builder , final String snapshotVersion ) throws StorageException { } }

implementation: if ( snapshotVersion != null ) { builder . add ( Constants . QueryConstants . SHARE_SNAPSHOT , snapshotVersion ) ; }


signature:
public class FileRequest { /** * Creates a request to copy a file , Sign with 0 length .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param source
 * The canonical path to the source file ,
 * in the form / < account - name > / < share - name > / < directory - path > / < file - name > .
 * @ param sourceAccessConditionType
 * A type of condition to check on the source file .
 * @ param sourceAccessConditionValue
 * The value of the condition to check on the source file
 * @ return a HttpURLConnection configured for the operation .
 * @ throws StorageException
 * an exception representing any error which occurred during the operation .
 * @ throws IllegalArgumentException
 * @ throws IOException
 * @ throws URISyntaxException */
public static HttpURLConnection copyFrom ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition sourceAccessCondition , final AccessCondition destinationAccessCondition , String source ) throws StorageException , IOException , URISyntaxException { } }

implementation: final HttpURLConnection request = BaseRequest . createURLConnection ( uri , fileOptions , null , opContext ) ; request . setFixedLengthStreamingMode ( 0 ) ; request . setDoOutput ( true ) ; request . setRequestMethod ( Constants . HTTP_PUT ) ; request . setRequestProperty ( Constants . HeaderConstants . COPY_SOURCE_HEADER , source ) ; if ( sourceAccessCondition != null ) { sourceAccessCondition . applyConditionToRequest ( request ) ; } if ( destinationAccessCondition != null ) { destinationAccessCondition . applyConditionToRequest ( request ) ; } return request ;


signature:
public class FileRequest { /** * Adds the properties .
 * @ param request
 * The request
 * @ param properties
 * The share properties */
private static void addProperties ( final HttpURLConnection request , FileShareProperties properties ) { } }

implementation: final Integer shareQuota = properties . getShareQuota ( ) ; BaseRequest . addOptionalHeader ( request , FileConstants . SHARE_QUOTA_HEADER , shareQuota == null ? null : shareQuota . toString ( ) ) ;


signature:
public class FileRequest { /** * Constructs a web request to create a new share . Sign with 0 length .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param properties
 * The properties to set for the share .
 * @ return a HttpURLConnection configured for the operation .
 * @ throws StorageException
 * @ throws IllegalArgumentException */
public static HttpURLConnection createShare ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final FileShareProperties properties ) throws IOException , URISyntaxException , StorageException { } }

implementation: final UriQueryBuilder shareBuilder = getShareUriQueryBuilder ( ) ; final HttpURLConnection request = BaseRequest . create ( uri , fileOptions , shareBuilder , opContext ) ; addProperties ( request , properties ) ; return request ;


signature:
public class FileRequest { /** * Constructs a web request to delete the share and all of the directories and files within it . Sign with no length
 * specified .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the share .
 * @ return a HttpURLConnection configured for the operation .
 * @ throws StorageException
 * @ throws IllegalArgumentException */
public static HttpURLConnection deleteShare ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition accessCondition , String snapshotVersion , DeleteShareSnapshotsOption deleteSnapshotsOption ) throws IOException , URISyntaxException , StorageException { } }

implementation:
final UriQueryBuilder shareBuilder = getShareUriQueryBuilder ( ) ; FileRequest . addShareSnapshot ( shareBuilder , snapshotVersion ) ; HttpURLConnection request = BaseRequest . delete ( uri , fileOptions , shareBuilder , opContext ) ; if ( accessCondition != null ) { accessCondition . applyConditionToRequest ( request ) ; } switch ( deleteSnapshotsOption ) { case NONE : // nop
break ; case INCLUDE_SNAPSHOTS : request . setRequestProperty ( Constants . HeaderConstants . DELETE_SNAPSHOT_HEADER , Constants . HeaderConstants . INCLUDE_SNAPSHOTS_VALUE ) ; break ; default : break ; } return request ;


signature:
public class FileRequest { /** * Constructs a web request to return the ACL for this share . Sign with no length specified .
 * @ param uri
 * The absolute URI to the share .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the share .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ return a HttpURLConnection configured for the operation .
 * @ throws StorageException */
public static HttpURLConnection getAcl ( final URI uri , final FileRequestOptions fileOptions , final AccessCondition accessCondition , final OperationContext opContext ) throws IOException , URISyntaxException , StorageException { } }

implementation: final UriQueryBuilder builder = getShareUriQueryBuilder ( ) ; builder . add ( Constants . QueryConstants . COMPONENT , Constants . QueryConstants . ACL ) ; final HttpURLConnection request = BaseRequest . createURLConnection ( uri , fileOptions , builder , opContext ) ; request . setRequestMethod ( Constants . HTTP_GET ) ; if ( accessCondition != null && ! Utility . isNullOrEmpty ( accessCondition . getLeaseID ( ) ) ) { accessCondition . applyLeaseConditionToRequest ( request ) ; } return request ;


signature:
public class FileRequest { /** * Constructs a HttpURLConnection to download the file , Sign with no length specified .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the file .
 * @ param snapshotVersion
 * The snapshot version , if the share is a snapshot .
 * @ param offset
 * The offset at which to begin returning content .
 * @ param count
 * The number of bytes to return .
 * @ param requestRangeContentMD5
 * If set to true , request an MD5 header for the specified range .
 * @ return a HttpURLConnection to use to perform the operation .
 * @ throws IOException
 * if there is an error opening the connection
 * @ throws URISyntaxException
 * if the resource URI is invalid
 * @ throws StorageException
 * an exception representing any error which occurred during the operation .
 * @ throws IllegalArgumentException */
public static HttpURLConnection getFile ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition accessCondition , final String snapshotVersion , final Long offset , final Long count , boolean requestRangeContentMD5 ) throws IOException , URISyntaxException , StorageException { } }

implementation: if ( offset != null && requestRangeContentMD5 ) { Utility . assertNotNull ( "count" , count ) ; Utility . assertInBounds ( "count" , count , 1 , Constants . MAX_BLOCK_SIZE ) ; } final UriQueryBuilder builder = new UriQueryBuilder ( ) ; FileRequest . addShareSnapshot ( builder , snapshotVersion ) ; final HttpURLConnection request = BaseRequest . createURLConnection ( uri , fileOptions , builder , opContext ) ; request . setRequestMethod ( Constants . HTTP_GET ) ; if ( accessCondition != null ) { accessCondition . applyConditionToRequest ( request ) ; } if ( offset != null ) { long rangeStart = offset ; long rangeEnd ; if ( count != null ) { rangeEnd = offset + count - 1 ; request . setRequestProperty ( Constants . HeaderConstants . STORAGE_RANGE_HEADER , String . format ( Utility . LOCALE_US , Constants . HeaderConstants . RANGE_HEADER_FORMAT , rangeStart , rangeEnd ) ) ; } else { request . setRequestProperty ( Constants . HeaderConstants . STORAGE_RANGE_HEADER , String . format ( Utility . LOCALE_US , Constants . HeaderConstants . BEGIN_RANGE_HEADER_FORMAT , rangeStart ) ) ; } } if ( offset != null && requestRangeContentMD5 ) { request . setRequestProperty ( Constants . HeaderConstants . RANGE_GET_CONTENT_MD5 , Constants . TRUE ) ; } return request ;


signature:
public class FileRequest { /** * Constructs a HttpURLConnection to return the file ' s system properties , Sign with no length specified .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the file .
 * @ return a HttpURLConnection to use to perform the operation .
 * @ param snapshotVersion
 * the snapshot version to the query builder .
 * @ throws IOException
 * if there is an error opening the connection
 * @ throws URISyntaxException
 * if the resource URI is invalid
 * @ throws StorageException
 * an exception representing any error which occurred during the operation .
 * @ throws IllegalArgumentException */
public static HttpURLConnection getFileProperties ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition accessCondition , final String snapshotVersion ) throws StorageException , IOException , URISyntaxException { } }

implementation: final UriQueryBuilder builder = new UriQueryBuilder ( ) ; return getProperties ( uri , fileOptions , opContext , accessCondition , builder , snapshotVersion ) ;


signature:
public class FileRequest { /** * Constructs a HttpURLConnection to return a list of the file ' s file ranges . Sign with no length specified .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the file .
 * @ return a HttpURLConnection to use to perform the operation .
 * @ throws IOException
 * if there is an error opening the connection
 * @ throws URISyntaxException
 * if the resource URI is invalid
 * @ throws StorageException
 * an exception representing any error which occurred during the operation .
 * @ throws IllegalArgumentException */
public static HttpURLConnection getFileRanges ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition accessCondition , final String snapshotVersion ) throws StorageException , IOException , URISyntaxException { } }

implementation: final UriQueryBuilder builder = new UriQueryBuilder ( ) ; addShareSnapshot ( builder , snapshotVersion ) ; builder . add ( Constants . QueryConstants . COMPONENT , RANGE_LIST_QUERY_ELEMENT_NAME ) ; final HttpURLConnection request = BaseRequest . createURLConnection ( uri , fileOptions , builder , opContext ) ; request . setRequestMethod ( Constants . HTTP_GET ) ; if ( accessCondition != null ) { accessCondition . applyConditionToRequest ( request ) ; } return request ;


signature:
public class FileRequest { /** * Constructs a web request to return the user - defined metadata for this share . Sign with no length specified .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the share .
 * @ param snapshotVersion
 * the snapshot version to the query builder .
 * @ return a HttpURLConnection configured for the operation .
 * @ throws StorageException */
public static HttpURLConnection getShareProperties ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , AccessCondition accessCondition , final String snapshotVersion ) throws IOException , URISyntaxException , StorageException { } }

implementation: final UriQueryBuilder shareBuilder = getShareUriQueryBuilder ( ) ; return getProperties ( uri , fileOptions , opContext , accessCondition , shareBuilder , snapshotVersion ) ;


signature:
public class FileRequest { /** * Constructs a web request to return the stats , such as usage , for this share . Sign with no length specified .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param options
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ return a HttpURLConnection configured for the operation .
 * @ throws StorageException */
public static HttpURLConnection getShareStats ( final URI uri , final FileRequestOptions options , final OperationContext opContext ) throws IOException , URISyntaxException , StorageException { } }

implementation: UriQueryBuilder shareBuilder = getShareUriQueryBuilder ( ) ; shareBuilder . add ( Constants . QueryConstants . COMPONENT , Constants . QueryConstants . STATS ) ; final HttpURLConnection retConnection = BaseRequest . createURLConnection ( uri , options , shareBuilder , opContext ) ; retConnection . setRequestMethod ( Constants . HTTP_GET ) ; return retConnection ;


signature:
public class FileRequest { /** * Gets the share Uri query builder .
 * A < CODE > UriQueryBuilder < / CODE > for the share .
 * @ throws StorageException */
private static UriQueryBuilder getShareUriQueryBuilder ( ) throws StorageException { } }

implementation: final UriQueryBuilder uriBuilder = new UriQueryBuilder ( ) ; try { uriBuilder . add ( Constants . QueryConstants . RESOURCETYPE , "share" ) ; } catch ( final IllegalArgumentException e ) { throw Utility . generateNewUnexpectedStorageException ( e ) ; } return uriBuilder ;


signature:
public class FileRequest { /** * Constructs a web request to return the user - defined metadata . Sign with no length specified .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the share .
 * @ param snapshotVersion
 * the snapshot version to the query builder .
 * @ return a HttpURLConnection configured for the operation .
 * @ throws StorageException */
private static HttpURLConnection getProperties ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , AccessCondition accessCondition , final UriQueryBuilder builder , String snapshotVersion ) throws IOException , URISyntaxException , StorageException { } }

implementation: addShareSnapshot ( builder , snapshotVersion ) ; HttpURLConnection request = BaseRequest . getProperties ( uri , fileOptions , builder , opContext ) ; if ( accessCondition != null ) { accessCondition . applyLeaseConditionToRequest ( request ) ; } return request ;


signature:
public class FileRequest { /** * Constructs a request to return a listing of all shares in this storage account . Sign with no length
 * specified .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param listingContext
 * A set of parameters for the listing operation .
 * @ param detailsIncluded
 * A < code > java . util . EnumSet < / code > object that contains { @ link ShareListingDetails } values that indicate
 * whether share snapshots and / or metadata will be returned .
 * @ return a HttpURLConnection configured for the operation .
 * @ throws IOException
 * @ throws URISyntaxException
 * @ throws StorageException
 * @ throws IllegalArgumentException */
public static HttpURLConnection listShares ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final ListingContext listingContext , final EnumSet < ShareListingDetails > detailsIncluded ) throws URISyntaxException , IOException , StorageException { } }

implementation: final UriQueryBuilder builder = BaseRequest . getListUriQueryBuilder ( listingContext ) ; if ( detailsIncluded != null && detailsIncluded . size ( ) > 0 ) { final StringBuilder sb = new StringBuilder ( ) ; boolean started = false ; if ( detailsIncluded . contains ( ShareListingDetails . SNAPSHOTS ) ) { started = true ; sb . append ( SNAPSHOTS_QUERY_ELEMENT_NAME ) ; } if ( detailsIncluded . contains ( ShareListingDetails . METADATA ) ) { if ( started ) { sb . append ( "," ) ; } sb . append ( Constants . QueryConstants . METADATA ) ; } builder . add ( Constants . QueryConstants . INCLUDE , sb . toString ( ) ) ; } final HttpURLConnection request = BaseRequest . createURLConnection ( uri , fileOptions , builder , opContext ) ; request . setRequestMethod ( Constants . HTTP_GET ) ; return request ;


signature:
public class FileRequest { /** * Constructs a web request to set user - defined metadata for the share , Sign with 0 Length .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the share .
 * @ return a HttpURLConnection configured for the operation .
 * @ throws StorageException */
public static HttpURLConnection setShareMetadata ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition accessCondition ) throws IOException , URISyntaxException , StorageException { } }

implementation: final UriQueryBuilder shareBuilder = getShareUriQueryBuilder ( ) ; return setMetadata ( uri , fileOptions , opContext , accessCondition , shareBuilder ) ;


signature:
public class FileRequest { /** * Constructs a web request to set user - defined metadata for the directory , Sign with 0 Length .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the directory .
 * @ return a HttpURLConnection configured for the operation .
 * @ throws IOException
 * if there is an error opening the connection
 * @ throws URISyntaxException
 * if the resource URI is invalid
 * @ throws StorageException
 * an exception representing any error which occurred during the operation . */
public static HttpURLConnection setDirectoryMetadata ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition accessCondition ) throws IOException , URISyntaxException , StorageException { } }

implementation: final UriQueryBuilder directoryBuilder = getDirectoryUriQueryBuilder ( ) ; return setMetadata ( uri , fileOptions , opContext , accessCondition , directoryBuilder ) ;


signature:
public class FileRequest { /** * Constructs a web request to create a new directory . Sign with 0 length .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ return a HttpURLConnection configured for the operation .
 * @ throws StorageException
 * @ throws IllegalArgumentException */
public static HttpURLConnection createDirectory ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext ) throws IOException , URISyntaxException , StorageException { } }

implementation: final UriQueryBuilder directoryBuilder = getDirectoryUriQueryBuilder ( ) ; return BaseRequest . create ( uri , fileOptions , directoryBuilder , opContext ) ;


signature:
public class FileRequest { /** * Constructs a web request to delete the directory and all of the directories and files within it . Sign with no
 * length
 * specified .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the directory .
 * @ return a HttpURLConnection configured for the operation .
 * @ throws StorageException
 * @ throws IllegalArgumentException */
public static HttpURLConnection deleteDirectory ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition accessCondition ) throws IOException , URISyntaxException , StorageException { } }

implementation: final UriQueryBuilder directoryBuilder = getDirectoryUriQueryBuilder ( ) ; HttpURLConnection request = BaseRequest . delete ( uri , fileOptions , directoryBuilder , opContext ) ; if ( accessCondition != null ) { accessCondition . applyConditionToRequest ( request ) ; } return request ;


signature:
public class FileRequest { /** * Constructs a web request to return the properties for this directory . Sign with no length specified .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the directory .
 * @ param snapshotVersion
 * the snapshot version to the query builder .
 * @ return a HttpURLConnection configured for the operation .
 * @ throws StorageException */
public static HttpURLConnection getDirectoryProperties ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , AccessCondition accessCondition , String snapshotVersion ) throws IOException , URISyntaxException , StorageException { } }

implementation: final UriQueryBuilder directoryBuilder = getDirectoryUriQueryBuilder ( ) ; return getProperties ( uri , fileOptions , opContext , accessCondition , directoryBuilder , snapshotVersion ) ;


signature:
public class FileRequest { /** * Constructs a request to return a listing of all files and directories in this storage account . Sign with no
 * length specified .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param listingContext
 * A set of parameters for the listing operation .
 * @ param snapshotVersion
 * the snapshot version to the query builder .
 * @ return a HttpURLConnection configured for the operation .
 * @ throws IOException
 * @ throws URISyntaxException
 * @ throws StorageException
 * @ throws IllegalArgumentException */
public static HttpURLConnection listFilesAndDirectories ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final ListingContext listingContext , String snapshotVersion ) throws URISyntaxException , IOException , StorageException { } }

implementation: final UriQueryBuilder builder = getDirectoryUriQueryBuilder ( ) ; addShareSnapshot ( builder , snapshotVersion ) ; builder . add ( Constants . QueryConstants . COMPONENT , Constants . QueryConstants . LIST ) ; if ( listingContext != null ) { if ( ! Utility . isNullOrEmpty ( listingContext . getMarker ( ) ) ) { builder . add ( Constants . QueryConstants . MARKER , listingContext . getMarker ( ) ) ; } if ( listingContext . getMaxResults ( ) != null && listingContext . getMaxResults ( ) > 0 ) { builder . add ( Constants . QueryConstants . MAX_RESULTS , listingContext . getMaxResults ( ) . toString ( ) ) ; } if ( ! Utility . isNullOrEmpty ( listingContext . getPrefix ( ) ) ) { builder . add ( Constants . QueryConstants . PREFIX , listingContext . getPrefix ( ) . toString ( ) ) ; } } final HttpURLConnection request = BaseRequest . createURLConnection ( uri , fileOptions , builder , opContext ) ; request . setRequestMethod ( Constants . HTTP_GET ) ; return request ;


signature:
public class FileRequest { /** * Constructs a HttpURLConnection to upload a file .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the file .
 * @ param properties
 * The properties to set for the file .
 * @ param fileSize
 * The size of the file .
 * @ return a HttpURLConnection to use to perform the operation .
 * @ throws IOException
 * if there is an error opening the connection
 * @ throws URISyntaxException
 * if the resource URI is invalid
 * @ throws StorageException
 * an exception representing any error which occurred during the operation .
 * @ throws IllegalArgumentException */
public static HttpURLConnection putFile ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition accessCondition , final FileProperties properties , final long fileSize ) throws IOException , URISyntaxException , StorageException { } }

implementation: final HttpURLConnection request = BaseRequest . createURLConnection ( uri , fileOptions , null , opContext ) ; request . setDoOutput ( true ) ; request . setRequestMethod ( Constants . HTTP_PUT ) ; addProperties ( request , properties ) ; request . setFixedLengthStreamingMode ( 0 ) ; request . setRequestProperty ( Constants . HeaderConstants . CONTENT_LENGTH , "0" ) ; request . setRequestProperty ( FileConstants . FILE_TYPE_HEADER , FileConstants . FILE ) ; request . setRequestProperty ( FileConstants . CONTENT_LENGTH_HEADER , String . valueOf ( fileSize ) ) ; properties . setLength ( fileSize ) ; if ( accessCondition != null ) { accessCondition . applyConditionToRequest ( request ) ; } return request ;


signature:
public class FileRequest { /** * Constructs a HttpURLConnection to upload a file range . Sign with file size for update , or 0 for clear .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the file .
 * @ param range
 * a { link @ FileRange } representing the file range
 * @ param operationType
 * a { link @ FileRangeOperationType } enumeration value representing the file range operation type .
 * @ return a HttpURLConnection to use to perform the operation .
 * @ throws IOException
 * if there is an error opening the connection
 * @ throws URISyntaxException
 * if the resource URI is invalid
 * @ throws StorageException
 * an exception representing any error which occurred during the operation .
 * @ throws IllegalArgumentException */
public static HttpURLConnection putRange ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition accessCondition , final FileRange range , FileRangeOperationType operationType ) throws IOException , URISyntaxException , StorageException { } }

implementation:
final UriQueryBuilder builder = new UriQueryBuilder ( ) ; builder . add ( Constants . QueryConstants . COMPONENT , RANGE_QUERY_ELEMENT_NAME ) ; final HttpURLConnection request = BaseRequest . createURLConnection ( uri , fileOptions , builder , opContext ) ; request . setDoOutput ( true ) ; request . setRequestMethod ( Constants . HTTP_PUT ) ; if ( operationType == FileRangeOperationType . CLEAR ) { request . setFixedLengthStreamingMode ( 0 ) ; } // Range write is either update or clear ; required
request . setRequestProperty ( FileConstants . FILE_RANGE_WRITE , operationType . toString ( ) ) ; request . setRequestProperty ( Constants . HeaderConstants . STORAGE_RANGE_HEADER , range . toString ( ) ) ; if ( accessCondition != null ) { accessCondition . applyConditionToRequest ( request ) ; } return request ;


signature:
public class FileRequest { /** * Constructs a HttpURLConnection to set the file ' s size , Sign with zero length specified .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the file .
 * @ param newFileSize
 * The new file size . Set this parameter to null to keep the existing file size .
 * @ return a HttpURLConnection to use to perform the operation .
 * @ throws IOException
 * if there is an error opening the connection
 * @ throws URISyntaxException
 * if the resource URI is invalid
 * @ throws StorageException
 * an exception representing any error which occurred during the operation .
 * @ throws IllegalArgumentException */
public static HttpURLConnection resize ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition accessCondition , final Long newFileSize ) throws IOException , URISyntaxException , StorageException { } }

implementation: final HttpURLConnection request = setFileProperties ( uri , fileOptions , opContext , accessCondition , null ) ; if ( newFileSize != null ) { request . setRequestProperty ( FileConstants . CONTENT_LENGTH_HEADER , newFileSize . toString ( ) ) ; } return request ;


signature:
public class FileRequest { /** * Constructs a HttpURLConnection to set metadata , Sign with 0 length .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions .
 * @ return a HttpURLConnection to use to perform the operation .
 * @ throws IOException
 * if there is an error opening the connection
 * @ throws URISyntaxException
 * if the resource URI is invalid
 * @ throws StorageException
 * an exception representing any error which occurred during the operation .
 * @ throws IllegalArgumentException */
private static HttpURLConnection setMetadata ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition accessCondition , final UriQueryBuilder builder ) throws IOException , URISyntaxException , StorageException { } }

implementation: final HttpURLConnection request = BaseRequest . setMetadata ( uri , fileOptions , builder , opContext ) ; if ( accessCondition != null ) { accessCondition . applyConditionToRequest ( request ) ; } return request ;


signature:
public class FileRequest { /** * Constructs a HttpURLConnection to set the file ' s metadata , Sign with 0 length .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the file .
 * @ return a HttpURLConnection to use to perform the operation .
 * @ throws IOException
 * if there is an error opening the connection
 * @ throws URISyntaxException
 * if the resource URI is invalid
 * @ throws StorageException
 * an exception representing any error which occurred during the operation .
 * @ throws IllegalArgumentException */
public static HttpURLConnection setFileMetadata ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition accessCondition ) throws IOException , URISyntaxException , StorageException { } }

implementation: return setMetadata ( uri , fileOptions , opContext , accessCondition , null ) ;


signature:
public class FileRequest { /** * Constructs a HttpURLConnection to create a snapshot of the share .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the share .
 * @ return a HttpURLConnection to use to perform the operation .
 * @ throws IOException
 * if there is an error opening the connection
 * @ throws URISyntaxException
 * if the resource URI is invalid
 * @ throws StorageException
 * an exception representing any error which occurred during the operation .
 * @ throws IllegalArgumentException */
public static HttpURLConnection snapshotShare ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition accessCondition ) throws IOException , URISyntaxException , StorageException { } }

implementation: final UriQueryBuilder builder = new UriQueryBuilder ( ) ; builder . add ( Constants . QueryConstants . RESOURCETYPE , "share" ) ; builder . add ( Constants . QueryConstants . COMPONENT , Constants . QueryConstants . SNAPSHOT ) ; final HttpURLConnection request = BaseRequest . createURLConnection ( uri , fileOptions , builder , opContext ) ; request . setFixedLengthStreamingMode ( 0 ) ; request . setDoOutput ( true ) ; request . setRequestMethod ( Constants . HTTP_PUT ) ; if ( accessCondition != null ) { accessCondition . applyConditionToRequest ( request ) ; } return request ;


signature:
public class FileRequest { /** * Constructs a HttpURLConnection to set the file ' s properties , Sign with zero length specified .
 * @ param uri
 * A < code > java . net . URI < / code > object that specifies the absolute URI .
 * @ param fileOptions
 * A { @ link FileRequestOptions } object that specifies execution options such as retry policy and timeout
 * settings for the operation . Specify < code > null < / code > to use the request options specified on the
 * { @ link CloudFileClient } .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the file .
 * @ param properties
 * The properties to upload .
 * @ return a HttpURLConnection to use to perform the operation .
 * @ throws IOException
 * if there is an error opening the connection
 * @ throws URISyntaxException
 * if the resource URI is invalid
 * @ throws StorageException
 * an exception representing any error which occurred during the operation .
 * @ throws IllegalArgumentException */
public static HttpURLConnection setFileProperties ( final URI uri , final FileRequestOptions fileOptions , final OperationContext opContext , final AccessCondition accessCondition , final FileProperties properties ) throws IOException , URISyntaxException , StorageException { } }

implementation: final UriQueryBuilder builder = new UriQueryBuilder ( ) ; builder . add ( Constants . QueryConstants . COMPONENT , Constants . QueryConstants . PROPERTIES ) ; final HttpURLConnection request = BaseRequest . createURLConnection ( uri , fileOptions , builder , opContext ) ; request . setFixedLengthStreamingMode ( 0 ) ; request . setDoOutput ( true ) ; request . setRequestMethod ( Constants . HTTP_PUT ) ; if ( accessCondition != null ) { accessCondition . applyConditionToRequest ( request ) ; } if ( properties != null ) { addProperties ( request , properties ) ; } return request ;


signature:
public class FileInputStream { /** * Closes this input stream and releases any system resources associated with the stream .
 * @ throws IOException
 * If an I / O error occurs . */
@ Override public synchronized void close ( ) throws IOException { } }

implementation: this . currentBuffer = null ; this . streamFaulted = true ; this . lastError = new IOException ( SR . STREAM_CLOSED ) ;


signature:
public class FileInputStream { /** * Dispatches a read operation of N bytes .
 * @ param readLength
 * An < code > int < / code > which represents the number of bytes to read .
 * @ throws IOException
 * If an I / O error occurs . */
@ DoesServiceRequest private synchronized void dispatchRead ( final int readLength ) throws IOException { } }

implementation:
try { final byte [ ] byteBuffer = new byte [ readLength ] ; this . parentFileRef . downloadRangeInternal ( this . currentAbsoluteReadPosition , ( long ) readLength , byteBuffer , 0 , null /* this . accessCondition */
, this . options , this . opContext ) ; // Check Etag manually for now - - use access condition once conditional headers supported .
if ( this . accessCondition != null ) { if ( ! this . accessCondition . getIfMatch ( ) . equals ( this . parentFileRef . getProperties ( ) . getEtag ( ) ) ) { throw new StorageException ( StorageErrorCode . CONDITION_FAILED . toString ( ) , SR . INVALID_CONDITIONAL_HEADERS , HttpURLConnection . HTTP_PRECON_FAILED , null , null ) ; } } this . currentBuffer = new ByteArrayInputStream ( byteBuffer ) ; this . bufferSize = readLength ; this . bufferStartOffset = this . currentAbsoluteReadPosition ; } catch ( final StorageException e ) { this . streamFaulted = true ; this . lastError = Utility . initIOException ( e ) ; throw this . lastError ; }


signature:
public class FileInputStream { /** * Reads the next byte of data from the input stream . The value byte is returned as an int in the range 0 to 255 . If
 * no byte is available because the end of the stream has been reached , the value - 1 is returned . This method blocks
 * until input data is available , the end of the stream is detected , or an exception is thrown .
 * @ return An < code > int < / code > which represents the total number of bytes read into the buffer , or - 1 if
 * there is no more data because the end of the stream has been reached .
 * @ throws IOException
 * If an I / O error occurs . */
@ Override @ DoesServiceRequest public int read ( ) throws IOException { } }

implementation: final byte [ ] tBuff = new byte [ 1 ] ; final int numberOfBytesRead = this . read ( tBuff , 0 , 1 ) ; if ( numberOfBytesRead > 0 ) { return tBuff [ 0 ] & 0xFF ; } else if ( numberOfBytesRead == 0 ) { throw new IOException ( SR . UNEXPECTED_STREAM_READ_ERROR ) ; } else { return - 1 ; }


signature:
public class FileInputStream { /** * Reads up to < code > len < / code > bytes of data from the input stream into an array of bytes . An attempt is made to
 * read as many as < code > len < / code > bytes , but a smaller number may be read . The number of bytes actually read is
 * returned as an integer . This method blocks until input data is available , end of file is detected , or an
 * exception is thrown .
 * If < code > len < / code > is zero , then no bytes are read and 0 is returned ; otherwise , there is an attempt to read at
 * least one byte . If no byte is available because the stream is at end of file , the value - 1 is returned ;
 * otherwise , at least one byte is read and stored into < code > b < / code > .
 * The first byte read is stored into element < code > b [ off ] < / code > , the next one into < code > b [ off + 1 ] < / code > , and so
 * on . The number of bytes read is , at most , equal to < code > len < / code > . Let < code > k < / code > be the number of bytes
 * actually read ; these bytes will be stored in elements < code > b [ off ] < / code > through < code > b [ off + k - 1 ] < / code > ,
 * leaving elements < code > b [ off + k ] < / code > through < code > b [ off + len - 1 ] < / code > unaffected .
 * In every case , elements < code > b [ 0 ] < / code > through < code > b [ off ] < / code > and elements < code > b [ off + len ] < / code >
 * through < code > b [ b . length - 1 ] < / code > are unaffected .
 * The < code > read ( b , off , len ) < / code > method for class { @ link InputStream } simply calls the method
 * < code > read ( ) < / code > repeatedly . If the first such call results in an < code > IOException < / code > , that exception is
 * returned from the call to the < code > read ( b , off , len ) < / code > method . If any subsequent call to
 * < code > read ( ) < / code > results in a < code > IOException < / code > , the exception is caught and treated
 * as if it were end of file ; the bytes read up to that point are stored into < code > b < / code > and the number of bytes
 * read before the exception occurred is returned . The default implementation of this method blocks until the
 * requested amount of input data < code > len < / code > has been read , end of file is detected , or an exception is
 * thrown . Subclasses are encouraged to provide a more efficient implementation of this method .
 * @ param b
 * A < code > byte < / code > array which represents the buffer into which the data is read .
 * @ param off
 * An < code > int < / code > which represents the start offset in the < code > byte < / code > array at which the data
 * is written .
 * @ param len
 * An < code > int < / code > which represents the maximum number of bytes to read .
 * @ return An < code > int < / code > which represents the total number of bytes read into the buffer , or - 1 if
 * there is no more data because the end of the stream has been reached .
 * @ throws IOException
 * If the first byte cannot be read for any reason other than end of file , or if the input stream has
 * been closed , or if some other I / O error occurs .
 * @ throws NullPointerException
 * If the < code > byte < / code > array < code > b < / code > is null .
 * @ throws IndexOutOfBoundsException
 * If < code > off < / code > is negative , < code > len < / code > is negative , or < code > len < / code > is greater than
 * < code > b . length - off < / code > . */
@ Override @ DoesServiceRequest public int read ( final byte [ ] b , final int off , final int len ) throws IOException { } }

implementation: if ( off < 0 || len < 0 || len > b . length - off ) { throw new IndexOutOfBoundsException ( ) ; } return this . readInternal ( b , off , len ) ;


signature:
public class FileInputStream { /** * Performs internal read to the given byte buffer .
 * @ param b
 * A < code > byte < / code > array which represents the buffer into which the data is read .
 * @ param off
 * An < code > int < / code > which represents the start offset in the < code > byte < / code > array < code > b < / code > at
 * which the data is written .
 * @ param len
 * An < code > int < / code > which represents the maximum number of bytes to read .
 * @ return An < code > int < / code > which represents the total number of bytes read into the buffer , or - 1 if
 * there is no more data because the end of the stream has been reached .
 * @ throws IOException
 * If the first byte cannot be read for any reason other than end of file , or if the input stream has
 * been closed , or if some other I / O error occurs . */
@ DoesServiceRequest private synchronized int readInternal ( final byte [ ] b , final int off , int len ) throws IOException { } }

implementation:
this . checkStreamState ( ) ; // if buffer is empty do next get operation
if ( ( this . currentBuffer == null || this . currentBuffer . available ( ) == 0 ) && this . currentAbsoluteReadPosition < this . streamLength ) { this . dispatchRead ( ( int ) Math . min ( this . readSize , this . streamLength - this . currentAbsoluteReadPosition ) ) ; } len = Math . min ( len , this . readSize ) ; // do read from buffer
final int numberOfBytesRead = this . currentBuffer . read ( b , off , len ) ; if ( numberOfBytesRead > 0 ) { this . currentAbsoluteReadPosition += numberOfBytesRead ; if ( this . validateFileMd5 ) { this . md5Digest . update ( b , off , numberOfBytesRead ) ; if ( this . currentAbsoluteReadPosition == this . streamLength ) { // Reached end of stream , validate md5.
final String calculatedMd5 = Base64 . encode ( this . md5Digest . digest ( ) ) ; if ( ! calculatedMd5 . equals ( this . retrievedContentMD5Value ) ) { this . lastError = Utility . initIOException ( new StorageException ( StorageErrorCodeStrings . INVALID_MD5 , String . format ( "File data corrupted (integrity check failed), Expected value is %s, retrieved %s" , this . retrievedContentMD5Value , calculatedMd5 ) , Constants . HeaderConstants . HTTP_UNUSED_306 , null , null ) ) ; this . streamFaulted = true ; throw this . lastError ; } } } } // update markers
if ( this . markExpiry > 0 && this . markedPosition + this . markExpiry < this . currentAbsoluteReadPosition ) { this . markedPosition = 0 ; this . markExpiry = 0 ; } return numberOfBytesRead ;


signature:
public class FileInputStream { /** * Repositions this stream to the position at the time the mark method was last called on this input stream . Note
 * repositioning the file read stream will disable file MD5 checking .
 * @ throws IOException
 * If this stream has not been marked or if the mark has been invalidated . */
@ Override public synchronized void reset ( ) throws IOException { } }

implementation: if ( this . markedPosition + this . markExpiry < this . currentAbsoluteReadPosition ) { throw new IOException ( SR . MARK_EXPIRED ) ; } this . validateFileMd5 = false ; this . md5Digest = null ; this . reposition ( this . markedPosition ) ;


signature:
public class FileInputStream { /** * Skips over and discards n bytes of data from this input stream . The skip method may , for a variety of reasons ,
 * end up skipping over some smaller number of bytes , possibly 0 . This may result from any of a number of
 * conditions ; reaching end of file before n bytes have been skipped is only one possibility . The actual number of
 * bytes skipped is returned . If n is negative , no bytes are skipped .
 * Note repositioning the file read stream will disable file MD5 checking .
 * @ param n
 * A < code > long < / code > which represents the number of bytes to skip . */
@ Override public synchronized long skip ( final long n ) throws IOException { } }

implementation: if ( n == 0 ) { return 0 ; } if ( n < 0 || this . currentAbsoluteReadPosition + n > this . streamLength ) { throw new IndexOutOfBoundsException ( ) ; } this . validateFileMd5 = false ; this . md5Digest = null ; this . reposition ( this . currentAbsoluteReadPosition + n ) ; return n ;


signature:
public class MainActivity { /** * Runs the blob getting started sample . */
public void runBlobGettingStartedSample ( View view ) { } }

implementation: new BlobGettingStartedTask ( this , ( TextView ) findViewById ( R . id . textView ) ) . execute ( ) ;


signature:
public class MainActivity { /** * Runs the queue getting started sample . */
public void runQueueGettingStartedSample ( View view ) { } }

implementation: new QueueGettingStartedTask ( this , ( TextView ) findViewById ( R . id . textView ) ) . execute ( ) ;


signature:
public class MainActivity { /** * Runs the table getting started sample . */
public void runTableGettingStartedSample ( View view ) { } }

implementation: new TableGettingStartedTask ( this , ( TextView ) findViewById ( R . id . textView ) ) . execute ( ) ;


signature:
public class MainActivity { /** * Runs the table payload format sample . */
public void runTablePayloadFormatSample ( View view ) { } }

implementation: new TablePayloadFormatTask ( this , ( TextView ) findViewById ( R . id . textView ) ) . execute ( ) ;


signature:
public class MainActivity { /** * Prints the specified text value to the view and to LogCat .
 * @ param view
 * The view to print to .
 * @ param value
 * The value to print . */
public void outputText ( final TextView view , final String value ) { } }

implementation: runOnUiThread ( new Runnable ( ) { @ Override public void run ( ) { view . append ( value + "\n" ) ; System . out . println ( view ) ; } } ) ;


signature:
public class MainActivity { /** * Prints out the exception information . */
public void printException ( Throwable t ) { } }

implementation: StringWriter stringWriter = new StringWriter ( ) ; PrintWriter printWriter = new PrintWriter ( stringWriter ) ; t . printStackTrace ( printWriter ) ; outputText ( ( TextView ) findViewById ( R . id . textView ) , String . format ( "Got an exception from running samples. Exception details:\n%s\n" , stringWriter . toString ( ) ) ) ;


signature:
public class MainActivity { /** * Prints out the sample start information . */
public void printSampleStartInfo ( String sampleName ) { } }

implementation: TextView view = ( TextView ) findViewById ( R . id . textView ) ; clearText ( view ) ; outputText ( view , String . format ( "The Azure storage client library sample %s is starting..." , sampleName ) ) ;


signature:
public class MainActivity { /** * Prints out the sample complete information . */
public void printSampleCompleteInfo ( String sampleName ) { } }

implementation: outputText ( ( TextView ) findViewById ( R . id . textView ) , String . format ( "The Azure storage client library sample %s completed.\n" , sampleName ) ) ;


signature:
public class TableCanonicalizer { /** * Constructs a canonicalized string for signing a request .
 * @ param conn
 * the HttpURLConnection to canonicalize
 * @ param accountName
 * the account name associated with the request
 * @ param contentLength
 * the length of the content written to the outputstream in bytes , - 1 if unknown
 * @ return a canonicalized string .
 * @ throws StorageException */
@ Override protected String canonicalize ( final HttpURLConnection conn , final String accountName , final Long contentLength ) throws StorageException { } }

implementation: if ( contentLength < - 1 ) { throw new InvalidParameterException ( SR . INVALID_CONTENT_LENGTH ) ; } return canonicalizeTableHttpRequest ( conn . getURL ( ) , accountName , conn . getRequestMethod ( ) , Utility . getStandardHeaderValue ( conn , Constants . HeaderConstants . CONTENT_TYPE ) , contentLength , null , conn ) ;


signature:
public class OperationContext { /** * Gets the last request result encountered for the operation .
 * @ return A { @ link RequestResult } object which represents the last request result . */
public synchronized RequestResult getLastResult ( ) { } }

implementation: if ( this . requestResults == null || this . requestResults . size ( ) == 0 ) { return null ; } else { return this . requestResults . get ( this . requestResults . size ( ) - 1 ) ; }


signature:
public class StorageCredentials { /** * Tries to determine the storage credentials from a collection of name / value pairs .
 * @ param settings
 * A < code > Map < / code > object of the name / value pairs that represent the settings to use to configure
 * the credentials .
 * Either include an account name with an account key ( specifying values for
 * { @ link CloudStorageAccount # ACCOUNT _ NAME _ NAME } and { @ link CloudStorageAccount # ACCOUNT _ KEY _ NAME } ) , or a
 * shared access signature ( specifying a value for
 * { @ link CloudStorageAccount # SHARED _ ACCESS _ SIGNATURE _ NAME } ) . If you use an account name and account
 * key , do not include a shared access signature , and vice versa .
 * @ return A { @ link StorageCredentials } object representing the storage credentials determined from the name / value
 * pairs .
 * @ throws InvalidKeyException
 * If the key value specified for { @ link CloudStorageAccount # ACCOUNT _ KEY _ NAME } is not a valid
 * Base64 - encoded string . */
protected static StorageCredentials tryParseCredentials ( final Map < String , String > settings ) throws InvalidKeyException { } }

implementation: final String accountName = settings . get ( CloudStorageAccount . ACCOUNT_NAME_NAME ) != null ? settings . get ( CloudStorageAccount . ACCOUNT_NAME_NAME ) : null ; final String accountKey = settings . get ( CloudStorageAccount . ACCOUNT_KEY_NAME ) != null ? settings . get ( CloudStorageAccount . ACCOUNT_KEY_NAME ) : null ; final String sasSignature = settings . get ( CloudStorageAccount . SHARED_ACCESS_SIGNATURE_NAME ) != null ? settings . get ( CloudStorageAccount . SHARED_ACCESS_SIGNATURE_NAME ) : null ; if ( accountName != null && accountKey != null && sasSignature == null ) { if ( Base64 . validateIsBase64String ( accountKey ) ) { return new StorageCredentialsAccountAndKey ( accountName , accountKey ) ; } else { throw new InvalidKeyException ( SR . INVALID_KEY ) ; } } if ( accountKey == null && sasSignature != null ) { return new StorageCredentialsSharedAccessSignature ( sasSignature ) ; } return null ;


signature:
public class StorageCredentials { /** * Tries to determine the storage credentials from a connection string .
 * The format for the connection string is in the pattern " < i > keyname = value < / i > " . Multiple key / value pairs can be
 * separated by a semi - colon , for example , " < i > keyname1 = value1 ; keyname2 = value2 < / i > " . Either include an account name
 * with an account key or a shared access signature . If you use an account name and account key , do not include a
 * shared access signature , and vice versa .
 * The same connection string can be used as for { @ link CloudStorageAccount # parse ( String ) } but here only the account
 * name , account key , and sas key / value pairs will be examined .
 * @ param connectionString
 * A < code > String < / code > that contains the key / value pairs that represent the storage credentials .
 * @ return A { @ link StorageCredentials } object representing the storage credentials determined from the connection
 * string .
 * @ throws InvalidKeyException
 * If the account key specified in < code > connectionString < / code > is not valid .
 * @ throws StorageException */
public static StorageCredentials tryParseCredentials ( final String connectionString ) throws InvalidKeyException , StorageException { } }

implementation: return tryParseCredentials ( Utility . parseAccountString ( connectionString ) ) ;


signature:
public class LogBlobIterator { /** * Validates that the log given is of the correct log type .
 * @ param current
 * the current log
 * @ return whether or not the log is of the correct type . */
private boolean isCorrectLogType ( ListBlobItem current ) { } }

implementation: HashMap < String , String > metadata = ( ( CloudBlob ) current ) . getMetadata ( ) ; String logType = metadata . get ( "LogType" ) ; if ( logType == null ) { return true ; } if ( this . operations . contains ( LoggingOperations . READ ) && logType . contains ( "read" ) ) { return true ; } if ( this . operations . contains ( LoggingOperations . WRITE ) && logType . contains ( "write" ) ) { return true ; } if ( this . operations . contains ( LoggingOperations . DELETE ) && logType . contains ( "delete" ) ) { return true ; } return false ;


signature:
public class LogBlobIterator { /** * Makes the next listBlob call if necessary and updates the currentIterator .
 * @ throws StorageException
 * @ throws URISyntaxException */
private void updateIterator ( ) throws StorageException , URISyntaxException { } }

implementation:
if ( this . currentPrefixTime != null && this . currentPrefixTime . isEmpty ( ) ) { // If we ' ve already called listBlobs ( ) with an empty prefix , don ' t do so again .
this . isExpired = true ; return ; } GregorianCalendar now = new GregorianCalendar ( ) ; now . add ( GregorianCalendar . HOUR_OF_DAY , 1 ) ; now . setTimeZone ( TimeZone . getTimeZone ( "GMT" ) ) ; updatePrefix ( ) ; if ( ( this . startDate == null || this . startDate . compareTo ( now ) <= 0 ) && ( this . endDate == null || ( ( this . logDirectory . getPrefix ( ) + this . currentPrefixTime ) . compareTo ( this . endPrefix ) <= 0 ) ) ) { // Only make the next call if the prefix is still possible
this . currentIterator = this . logDirectory . listBlobs ( this . currentPrefixTime , true , this . details , this . options , this . opContext ) . iterator ( ) ; } else { // We are in the future .
this . isExpired = true ; }


signature:
public class LogBlobIterator { /** * Updates the currentPrefixTime so that we can make a new call to listBlobs ( ) with the next prefix . */
private void updatePrefix ( ) { } }

implementation:
if ( this . startDate == null ) { // startDate not specified
this . currentPrefixTime = "" ; } else if ( this . currentPrefixTime == null ) { // First prefix
this . currentPrefixTime = HOUR_FORMAT . format ( this . startDate . getTime ( ) ) ; } else if ( this . currentPrefixTime . length ( ) == HOUR_FORMAT_LENGTH ) { // Increment the hour
this . startDate . add ( GregorianCalendar . HOUR_OF_DAY , 1 ) ; if ( this . startDate . get ( GregorianCalendar . HOUR_OF_DAY ) != 0 ) { // If we are still within the same day , use the hour format
this . currentPrefixTime = HOUR_FORMAT . format ( this . startDate . getTime ( ) ) ; } else { // If we ' ve reached a day boundary , get the entire next day ' s logs
this . currentPrefixTime = DAY_FORMAT . format ( this . startDate . getTime ( ) ) ; } } else if ( this . currentPrefixTime . length ( ) == DAY_FORMAT_LENGTH ) { // Increment the day
this . startDate . add ( GregorianCalendar . DAY_OF_MONTH , 1 ) ; if ( this . startDate . get ( GregorianCalendar . DAY_OF_MONTH ) != 1 ) { // If we are still within the same month , use the day format
this . currentPrefixTime = DAY_FORMAT . format ( this . startDate . getTime ( ) ) ; } else { // If we ' ve reached a month boundary , get the entire next month ' s logs
this . currentPrefixTime = MONTH_FORMAT . format ( this . startDate . getTime ( ) ) ; } } else if ( this . currentPrefixTime . length ( ) == MONTH_FORMAT_LENGTH ) { // Increment the month
this . startDate . add ( GregorianCalendar . MONTH , 1 ) ; if ( this . startDate . get ( GregorianCalendar . MONTH ) != 13 ) { // Undecember
// If we are still within the same year , use the month format
this . currentPrefixTime = MONTH_FORMAT . format ( this . startDate . getTime ( ) ) ; } else { // If we ' ve reached a year boundary , get the entire next year ' s logs
this . currentPrefixTime = YEAR_FORMAT . format ( this . startDate . getTime ( ) ) ; } } else { // Continue to increment year and get the next year ' s worth of logs .
this . startDate . add ( GregorianCalendar . YEAR , 1 ) ; this . currentPrefixTime = YEAR_FORMAT . format ( this . startDate . getTime ( ) ) ; }


signature:
public class CloudFile { /** * Aborts an ongoing Azure File copy operation .
 * @ param copyId
 * A < code > String < / code > object that identifies the copy operation .
 * @ throws StorageException
 * If a storage service error occurred .
 * @ throws URISyntaxException */
@ DoesServiceRequest public final void abortCopy ( final String copyId ) throws StorageException , URISyntaxException { } }

implementation:
this . abortCopy ( copyId , null /* accessCondition */
, null /* options */
, null /* opContext */
) ;


signature:
public class CloudFile { /** * Aborts an ongoing Azure File copy operation .
 * @ param copyId
 * A < code > String < / code > object that identifies the copy operation .
 * @ param accessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the Azure File .
 * @ param options
 * A { @ link FileRequestOptions } object that specifies any additional options for the request . Specifying
 * < code > null < / code > will use the default request options from the associated service client (
 * { @ link CloudFileClient } ) .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ throws StorageException
 * If a storage service error occurred .
 * @ throws URISyntaxException */
@ DoesServiceRequest public final void abortCopy ( final String copyId , final AccessCondition accessCondition , FileRequestOptions options , OperationContext opContext ) throws StorageException , URISyntaxException { } }

implementation: if ( opContext == null ) { opContext = new OperationContext ( ) ; } this . getShare ( ) . assertNoSnapshot ( ) ; opContext . initialize ( ) ; options = FileRequestOptions . populateAndApplyDefaults ( options , this . fileServiceClient ) ; ExecutionEngine . executeWithRetry ( this . fileServiceClient , this , this . abortCopyImpl ( copyId , accessCondition , options ) , options . getRetryPolicyFactory ( ) , opContext ) ;


signature:
public class CloudFile { /** * Requests the service to start copying a blob ' s contents , properties , and metadata to a new file .
 * @ param sourceBlob
 * A < code > CloudBlob < / code > object that represents the source blob to copy .
 * @ return A < code > String < / code > which represents the copy ID associated with the copy operation .
 * @ throws StorageException
 * If a storage service error occurred .
 * @ throws URISyntaxException */
@ DoesServiceRequest public final String startCopy ( final CloudBlob sourceBlob ) throws StorageException , URISyntaxException { } }

implementation:
return this . startCopy ( sourceBlob , null /* sourceAccessCondition */
, null /* destinationAccessCondition */
, null /* options */
, null /* opContext */
) ;


signature:
public class CloudFile { /** * Requests the service to start copying a file ' s contents , properties , and metadata to a new file ,
 * using the specified access conditions , lease ID , request options , and operation context .
 * @ param sourceBlob
 * A < code > CloudBlob < / code > object that represents the source blob to copy .
 * @ param sourceAccessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the source blob .
 * @ param destinationAccessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the destination file .
 * @ param options
 * A { @ link BlobRequestOptions } object that specifies any additional options for the request .
 * Specifying < code > null < / code > will use the default request options from the associated
 * service client ( { @ link CloudBlobClient } ) .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation .
 * This object is used to track requests to the storage service , and to provide additional
 * runtime information about the operation .
 * @ return A < code > String < / code > which represents the copy ID associated with the copy operation .
 * @ throws StorageException
 * If a storage service error occurred .
 * @ throws URISyntaxException */
@ DoesServiceRequest public final String startCopy ( final CloudBlob sourceBlob , final AccessCondition sourceAccessCondition , final AccessCondition destinationAccessCondition , FileRequestOptions options , OperationContext opContext ) throws StorageException , URISyntaxException { } }

implementation: Utility . assertNotNull ( "sourceBlob" , sourceBlob ) ; URI source = sourceBlob . getSnapshotQualifiedUri ( ) ; if ( sourceBlob . getServiceClient ( ) != null && sourceBlob . getServiceClient ( ) . getCredentials ( ) != null ) { source = sourceBlob . getServiceClient ( ) . getCredentials ( ) . transformUri ( sourceBlob . getSnapshotQualifiedUri ( ) ) ; } return this . startCopy ( source , sourceAccessCondition , destinationAccessCondition , options , opContext ) ;


signature:
public class CloudFile { /** * Requests the service to start copying an Azure File ' s contents , properties , and metadata to a new Azure File .
 * @ param sourceFile
 * A < code > CloudFile < / code > object that represents the source Azure File to copy .
 * @ return A < code > String < / code > which represents the copy ID associated with the copy operation .
 * @ throws StorageException
 * If a storage service error occurred .
 * @ throws URISyntaxException */
@ DoesServiceRequest public final String startCopy ( final CloudFile sourceFile ) throws StorageException , URISyntaxException { } }

implementation:
return this . startCopy ( sourceFile , null /* sourceAccessCondition */
, null /* destinationAccessCondition */
, null /* options */
, null /* opContext */
) ;


signature:
public class CloudFile { /** * Requests the service to start copying an Azure File ' s contents , properties , and metadata to a new Azure File ,
 * using the specified access conditions , lease ID , request options , and operation context .
 * @ param sourceFile
 * A < code > CloudFile < / code > object that represents the source file to copy .
 * @ param sourceAccessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the source .
 * @ param destinationAccessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the destination .
 * @ param options
 * A { @ link FileRequestOptions } object that specifies any additional options for the request .
 * Specifying < code > null < / code > will use the default request options from the associated
 * service client ( { @ link CloudFileClient } ) .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation .
 * This object is used to track requests to the storage service , and to provide additional
 * runtime information about the operation .
 * @ return A < code > String < / code > which represents the copy ID associated with the copy operation .
 * @ throws StorageException
 * If a storage service error occurred .
 * @ throws URISyntaxException */
@ DoesServiceRequest public final String startCopy ( final CloudFile sourceFile , final AccessCondition sourceAccessCondition , final AccessCondition destinationAccessCondition , FileRequestOptions options , OperationContext opContext ) throws StorageException , URISyntaxException { } }

implementation: Utility . assertNotNull ( "sourceFile" , sourceFile ) ; return this . startCopy ( sourceFile . getTransformedAddress ( opContext ) . getPrimaryUri ( ) , sourceAccessCondition , destinationAccessCondition , options , opContext ) ;


signature:
public class CloudFile { /** * Requests the service to start copying a URI ' s contents , properties , and metadata to a new Azure File .
 * @ param source
 * The source ' s < code > java . net . URI < / code > .
 * @ return A < code > String < / code > which represents the copy ID associated with the copy operation .
 * @ throws StorageException
 * If a storage service error occurred .
 * @ throws URISyntaxException */
@ DoesServiceRequest public final String startCopy ( final URI source ) throws StorageException , URISyntaxException { } }

implementation:
return this . startCopy ( source , null /* sourceAccessCondition */
, null /* destinationAccessCondition */
, null /* options */
, null /* opContext */
) ;


signature:
public class CloudFile { /** * Requests the service to start copying a URI ' s contents , properties , and metadata to a new Azure File ,
 * using the specified access conditions , lease ID , request options , and operation context .
 * @ param source
 * The source ' s < code > java . net . URI < / code > .
 * @ param sourceAccessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the source .
 * @ param destinationAccessCondition
 * An { @ link AccessCondition } object that represents the access conditions for the destination .
 * @ param options
 * A { @ link FileRequestOptions } object that specifies any additional options for the request .
 * Specifying < code > null < / code > will use the default request options from the associated
 * service client ( { @ link CloudFileClient } ) .
 * @ param opContext
 * An { @ link OperationContext } object that represents the context for the current operation .
 * This object is used to track requests to the storage service , and to provide additional
 * runtime information about the operation .
 * @ return A < code > String < / code > which represents the copy ID associated with the copy operation .
 * @ throws StorageException
 * If a storage service error occurred .
 * @ throws URISyntaxException */
@ DoesServiceRequest public final String startCopy ( final URI source , final AccessCondition sourceAccessCondition , final AccessCondition destinationAccessCondition , FileRequestOptions options , OperationContext opContext ) throws StorageException , URISyntaxException { } }

implementation: if ( opContext == null ) { opContext = new OperationContext ( ) ; } this . getShare ( ) . assertNoSnapshot ( ) ; opContext . initialize ( ) ; options = FileRequestOptions . populateAndApplyDefaults ( options , this . fileServiceClient ) ; return ExecutionEngine . executeWithRetry ( this . fileServiceClient , this , this . startCopyImpl ( source , sourceAccessCondition , destinationAccessCondition , options ) , options . getRetryPolicyFactory ( ) , opContext ) ;


signature:
public class CloudFile { /** * Clears a range from a file .
 * Calling < code > clearRange < / code > releases the storage space used by the specified range . Ranges that have been
 * cleared are no longer tracked as part of the file .
 * @ param offset
 * The offset , in bytes , at which to begin clearing .
 * @ param length
 * The length , in bytes , of the data range to be cleared .
 * @ throws StorageException
 * If a storage service error occurred .
 * @ throws URISyntaxException */
@ DoesServiceRequest public void clearRange ( final long offset , final long length ) throws StorageException , URISyntaxException { } }

implementation:
this . clearRange ( offset , length , null /* accessCondition */
, null /* options */
, null /* opContext */
) ;


signature:
public class CloudFile { /** * Clears a range from a file using the specified lease ID , request options , and operation context .
 * Calling < code > clearRange < / code > releases the storage space used by the specified range . Ranges that have been
 * cleared are no longer tracked as part of the file .
 * @ param offset
 * A < code > long < / code > which represents the offset , in bytes , at which to begin clearing .
 * @ param length
 * A < code > long < / code > which represents the length , in bytes , of the data range to be cleared .
 * @ param accessCondition
 * An { @ link AccessCondition } object which represents the access conditions for the file .
 * @ param options
 * A { @ link FileRequestOptions } object that specifies any additional options for the request . Specifying
 * < code > null < / code > will use the default request options from the associated service client (
 * { @ link CloudFileClient } ) .
 * @ param opContext
 * An { @ link OperationContext } object which represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ throws StorageException
 * If a storage service error occurred .
 * @ throws URISyntaxException */
@ DoesServiceRequest public void clearRange ( final long offset , final long length , final AccessCondition accessCondition , FileRequestOptions options , OperationContext opContext ) throws StorageException , URISyntaxException { } }

implementation: if ( opContext == null ) { opContext = new OperationContext ( ) ; } this . getShare ( ) . assertNoSnapshot ( ) ; options = FileRequestOptions . populateAndApplyDefaults ( options , this . fileServiceClient ) ; final FileRange range = new FileRange ( offset , offset + length - 1 ) ; this . putRangeInternal ( range , FileRangeOperationType . CLEAR , null , length , null , accessCondition , options , opContext ) ;


signature:
public class CloudFile { /** * Creates a file . If the file already exists , this will replace it .
 * @ param size
 * A < code > long < / code > which represents the size , in bytes , of the file .
 * @ throws StorageException
 * If a storage service error occurred .
 * @ throws URISyntaxException */
@ DoesServiceRequest public void create ( final long size ) throws StorageException , URISyntaxException { } }

implementation:
this . create ( size , null /* accessCondition */
, null /* options */
, null /* opContext */
) ;


signature:
public class CloudFile { /** * Creates a file using the specified access condition , request options and operation context . If the file already
 * exists , this will replace it .
 * @ param size
 * A < code > long < / code > which represents the size , in bytes , of the file .
 * @ param accessCondition
 * An { @ link AccessCondition } object which represents the access conditions for the file .
 * @ param options
 * A { @ link FileRequestOptions } object that specifies any additional options for the request . Specifying
 * < code > null < / code > will use the default request options from the associated service client (
 * { @ link CloudFileClient } ) .
 * @ param opContext
 * An { @ link OperationContext } object which represents the context for the current operation . This object
 * is used to track requests to the storage service , and to provide additional runtime information about
 * the operation .
 * @ throws StorageException
 * If a storage service error occurred .
 * @ throws URISyntaxException */
@ DoesServiceRequest public void create ( final long size , final AccessCondition accessCondition , FileRequestOptions options , OperationContext opContext ) throws StorageException , URISyntaxException { } }

implementation: if ( opContext == null ) { opContext = new OperationContext ( ) ; } this . getShare ( ) . assertNoSnapshot ( ) ; options = FileRequestOptions . populateAndApplyDefaults ( options , this . fileServiceClient ) ; ExecutionEngine . executeWithRetry ( this . fileServiceClient , this , this . createImpl ( size , accessCondition , options ) , options . getRetryPolicyFactory ( ) , opContext ) ;


signature:
public class CloudFile { /** * Downloads the contents of a file to a stream .
 * @ param outStream
 * An < code > { @ link OutputStream } < / code > object that represents the target stream .
 * @ throws StorageException
 * If a storage service error occurred . */
@ DoesServiceRequest public final void download ( final OutputStream outStream ) throws StorageException { } }

implementation:
this . download ( outStream , null /* accessCondition */
, null /* options */
, null /* opContext */
) ;