All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.microsoft.azure.keyvault.CertificateOperationIdentifier Maven / Gradle / Ivy

There is a newer version: 1.2.6
Show newest version
/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License. See License.txt in the project root for
 * license information.
 */

package com.microsoft.azure.keyvault;

import java.net.URI;
import java.net.URISyntaxException;

/**
 * The certificate operation identifier.
 */
public final class CertificateOperationIdentifier extends ObjectIdentifier {

    /**
     * Verifies whether the identifier belongs to a key vault certificate operation. 
     * @param identifier the key vault certificate operation identifier.
     * @return true if the identifier belongs to a key vault certificate operation. False otherwise.
     */
    public static boolean isCertificateOperationIdentifier(String identifier) {
        identifier = verifyNonEmpty(identifier, "identifier");

        URI baseUri;
        try {
            baseUri = new URI(identifier);
        } catch (URISyntaxException e) {
            return false;
        }

        // Path is of the form "/certificates/[name]/pending"
        String[] segments = baseUri.getPath().split("/");
        if (segments.length != 4) {
            return false;
        }

        if (!(segments[1]).equals("certificates")) {
            return false;
        }

        if (!(segments[3]).equals("pending")) {
            return false;
        }

        return true;
    }

    /**
     * Constructor.
     * @param vault the vault url
     * @param name the name of certificate
     * @param version the certificate version
     */
    public CertificateOperationIdentifier(String vault, String name, String version) {
        super(vault, "certificates", name, "pending");
    }

   /**
    * Constructor. 
    * @param identifier the key vault certificate operation identifier. 
    */
    public CertificateOperationIdentifier(String identifier) {
        super("certificates", identifier);
        if (!version().equals("pending")) {
            throw new IllegalArgumentException(
                    String.format("Invalid CertificateOperationIdentifier: {0}", identifier));
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy