microsoft-azure-storage/src/com/microsoft/azure/storage/file/CloudFile.java
private void parseQueryAndVerify(final StorageUri completeUri, final StorageCredentials credentials)
            throws StorageException, URISyntaxException {
       Utility.assertNotNull("completeUri", completeUri);

        if (!completeUri.isAbsolute()) {
            throw new IllegalArgumentException(String.format(SR.RELATIVE_ADDRESS_NOT_PERMITTED, completeUri.toString()));
        }

        this.storageUri = PathUtility.stripURIQueryAndFragment(completeUri);
        
        final StorageCredentialsSharedAccessSignature parsedCredentials = 
                SharedAccessSignatureHelper.parseQuery(completeUri);

        if (credentials != null && parsedCredentials != null) {
            throw new IllegalArgumentException(SR.MULTIPLE_CREDENTIALS_PROVIDED);
        }

        try {
            final boolean usePathStyleUris = Utility.determinePathStyleFromUri(this.storageUri.getPrimaryUri());
            this.fileServiceClient = new CloudFileClient(PathUtility.getServiceClientBaseAddress(
                    this.getStorageUri(), usePathStyleUris), credentials != null ? credentials : parsedCredentials);
            this.name = PathUtility.getFileNameFromURI(this.storageUri.getPrimaryUri(), usePathStyleUris);
        }
        catch (final URISyntaxException e) {
            throw Utility.generateNewUnexpectedStorageException(e);
        }

        final HashMap<String, String[]> queryParameters = PathUtility.parseQueryString(completeUri.getQuery());

        final String[] snapshotIDs = queryParameters.get(Constants.QueryConstants.SHARE_SNAPSHOT);
        if (snapshotIDs != null && snapshotIDs.length > 0) {
            this.getShare().snapshotID = snapshotIDs[0];
        }
    }
private void parseQueryAndVerify(final StorageUri completeUri, final StorageCredentials credentials)
            throws StorageException, URISyntaxException {
       Utility.assertNotNull("completeUri", completeUri);

        if (!completeUri.isAbsolute()) {
            throw new IllegalArgumentException(String.format(SR.RELATIVE_ADDRESS_NOT_PERMITTED, completeUri.toString()));
        }

        this.storageUri = PathUtility.stripURIQueryAndFragment(completeUri);
        
        final StorageCredentialsSharedAccessSignature parsedCredentials = 
                SharedAccessSignatureHelper.parseQuery(completeUri);

        if (credentials != null && parsedCredentials != null) {
            throw new IllegalArgumentException(SR.MULTIPLE_CREDENTIALS_PROVIDED);
        }

        try {
            final boolean usePathStyleUris = Utility.determinePathStyleFromUri(this.storageUri.getPrimaryUri());
            this.fileServiceClient = new CloudFileClient(PathUtility.getServiceClientBaseAddress(
                    this.getStorageUri(), usePathStyleUris), credentials != null ? credentials : parsedCredentials);
            this.name = PathUtility.getFileNameFromURI(this.storageUri.getPrimaryUri(), usePathStyleUris);
        }
        catch (final URISyntaxException e) {
            throw Utility.generateNewUnexpectedStorageException(e);
        }

        final HashMap<String, String[]> queryParameters = PathUtility.parseQueryString(completeUri.getQuery());

        final String[] snapshotIDs = queryParameters.get(Constants.QueryConstants.SHARE_SNAPSHOT);
        if (snapshotIDs != null && snapshotIDs.length > 0) {
            this.getShare().snapshotID = snapshotIDs[0];
        }
    }
private void parseQueryAndVerify ( final StorageUri completeUri , final StorageCredentials credentials ) throws StorageException , URISyntaxException { Utility . assertNotNull ( "completeUri" , completeUri ) ; if ( ! completeUri . isAbsolute ( ) ) { throw new IllegalArgumentException ( String . format ( SR . RELATIVE_ADDRESS_NOT_PERMITTED , completeUri . toString ( ) ) ) ; } this . storageUri = PathUtility . stripURIQueryAndFragment ( completeUri ) ; final StorageCredentialsSharedAccessSignature parsedCredentials = SharedAccessSignatureHelper . parseQuery ( completeUri ) ; if ( credentials != null && parsedCredentials != null ) { throw new IllegalArgumentException ( SR . MULTIPLE_CREDENTIALS_PROVIDED ) ; } try { final boolean usePathStyleUris = Utility . determinePathStyleFromUri ( this . storageUri . getPrimaryUri ( ) ) ; this . fileServiceClient = new CloudFileClient ( PathUtility . getServiceClientBaseAddress ( this . getStorageUri ( ) , usePathStyleUris ) , credentials != null ? credentials : parsedCredentials ) ; this . name = PathUtility . getFileNameFromURI ( this . storageUri . getPrimaryUri ( ) , usePathStyleUris ) ; } catch ( final URISyntaxException e ) { throw Utility . generateNewUnexpectedStorageException ( e ) ; } final HashMap < String , String [ ] > queryParameters = PathUtility . parseQueryString ( completeUri . getQuery ( ) ) ; final String [ ] snapshotIDs = queryParameters . get ( Constants . QueryConstants . SHARE_SNAPSHOT ) ; if ( snapshotIDs != null && snapshotIDs . length > 0 ) { this . getShare ( ) . snapshotID = snapshotIDs [ 0 ] ; } }
Verifies the passed in URI. Then parses it and uses its components to populate this resource's properties.

@param completeUri
A {@link StorageUri} object which represents the complete URI.
@param credentials
A {@link StorageCredentials} object used to authenticate access.
@throws StorageException
If a storage service error occurred.
@throws URISyntaxException
Verifies the passed in URI . Then parses it and uses its components to populate this resource s properties .