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

org.connid.bundles.soap.provisioning.interfaces.Provisioning Maven / Gradle / Ivy

The newest version!
/**
 * ====================
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright 2008-2009 Sun Microsystems, Inc. All rights reserved.
 * Copyright 2011-2013 Tirasa. All rights reserved.
 *
 * The contents of this file are subject to the terms of the Common Development
 * and Distribution License("CDDL") (the "License"). You may not use this file
 * except in compliance with the License.
 *
 * You can obtain a copy of the License at https://oss.oracle.com/licenses/CDDL
 * See the License for the specific language governing permissions and limitations
 * under the License.
 *
 * When distributing the Covered Code, include this CDDL Header Notice in each file
 * and include the License file at https://oss.oracle.com/licenses/CDDL.
 * If applicable, add the following below this CDDL Header, with the fields
 * enclosed by brackets [] replaced by your own identifying information:
 * "Portions Copyrighted [year] [name of copyright owner]"
 * ====================
 */
package org.connid.bundles.soap.provisioning.interfaces;

import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.ws.BindingType;
import javax.xml.ws.soap.SOAPBinding;
import org.connid.bundles.soap.exceptions.ProvisioningException;
import org.connid.bundles.soap.to.WSAttribute;
import org.connid.bundles.soap.to.WSAttributeValue;
import org.connid.bundles.soap.to.WSChange;
import org.connid.bundles.soap.to.WSUser;
import org.connid.bundles.soap.utilities.Operand;

@WebService
@BindingType(SOAPBinding.SOAP12HTTP_BINDING)
public interface Provisioning {

    /**
     * Checks if authentication is supported.
     *
     * @return true if the resource support authentication.
     */
    @WebMethod(operationName = "isAuthenticationSupported", action = "isAuthenticationSupported")
    Boolean isAuthenticationSupported();

    /**
     * Checks if synchronization is supported.
     *
     * @return true if the resource support synchronization.
     */
    @WebMethod(operationName = "isSyncSupported", action = "isSyncSupported")
    Boolean isSyncSupported();

    /**
     * Verify user creentials
     *
     * @param username
     * @param password
     * @return the accountid of the first account that match username and password.
     * @throws ProvisioningException in case of authentication failed.
     */
    @WebMethod(operationName = "authenticate", action = "authenticate")
    String authenticate(
            @WebParam(name = "username") final String username,
            @WebParam(name = "password") final String password)
            throws ProvisioningException;

    /**
     * Returns "OK" if the resource is available.
     *
     * @return the string "OK" in case of availability of the resource.
     */
    @WebMethod(operationName = "checkAlive", action = "checkAlive")
    String checkAlive();

    /**
     * Returns the schema.
     *
     * @return a set of attributes.
     */
    @WebMethod(operationName = "schema", action = "schema")
    List schema();

    /**
     * Creates user account.
     *
     * @param a set of account attributes.
     * @return accountid of the account created.
     * @throws ProvisioningException in case of failure.
     */
    @WebMethod(operationName = "create", action = "create")
    String create(@WebParam(name = "data") final List data)
            throws ProvisioningException;

    /**
     * Updates user account.
     *
     * @param accountid.
     * @param a set of attributes to be updated.
     * @return accountid.
     * @throws ProvisioningException in case of failure
     */
    @WebMethod(operationName = "update", action = "update")
    String update(
            @WebParam(name = "accountid") final String accountid,
            @WebParam(name = "data") final List data)
            throws ProvisioningException;

    /**
     * Deletes user account.
     *
     * @param accountid.
     * @return accountid.
     * @throws ProvisioningException in case of failure.
     */
    @WebMethod(operationName = "delete", action = "delete")
    String delete(@WebParam(name = "accountid") final String accountid)
            throws ProvisioningException;

    /**
     * Searches for user accounts.
     *
     * @param query filter
     * @return a set of user accounts.
     */
    @WebMethod(operationName = "query", action = "query")
    List query(@WebParam(name = "query") final Operand query);

    /**
     * Returns accountid related to the specified username.
     *
     * @param username.
     * @return accountid or null if username not found
     * @throws ProvisioningException in case of failure.
     */
    @WebMethod(operationName = "resolve", action = "resolve")
    String resolve(@WebParam(name = "username") final String username)
            throws ProvisioningException;

    /**
     * Gets the latest change id.
     *
     * @return change id.
     * @throws ProvisioningException in case of failure.
     */
    @WebMethod(operationName = "getLatestChangeNumber", action = "getLatestChangeNumber")
    int getLatestChangeNumber()
            throws ProvisioningException;

    /**
     * Returns changes to be synchronized.
     *
     * @return a set of changes
     * @throws ProvisioningException in case of failure
     */
    @WebMethod(operationName = "sync", action = "sync")
    List sync()
            throws ProvisioningException;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy