/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.api.git.shared; import org.eclipse.che.dto.shared.DTO; import java.util.List; /** * Information about Git service which support operation for specific git url. * Explanation: if we have git url like: "git@bitbucket.org:user/reponame.git" than we send to server request for getting information * about provider that should process this url, than we try to search through all enabled Git services that service, which matches for * pattern, and in response to client we send all necessary information about this provider(e.g. its base host, short name, authorization * scopes if it support authorization via oauth and if our url is ssh url) and client based on this info can call authorization for user. * * @author andrew00x */ @DTO public interface GitUrlVendorInfo { /** * Get short Git service name. * * @return short service name */ String getVendorName(); /** * Get base Git service host. * * @return base Git service host */ String getVendorBaseHost(); /** * If current url is SSH. * * @return true is current url is SSH */ boolean isGivenUrlSSH(); /** * Get list of authorization scopes for specific Git service. * * @return list of scopes */ List<String> getOAuthScopes(); /** * Set short Git service name. * * @param vendorName * short service name */ void setVendorName(String vendorName); /** * Set short Git service name. * * @param vendorName * short service name */ GitUrlVendorInfo withVendorName(String vendorName); /** * Set base Git service host. * * @param vendorBaseHost * base Git service host */ void setVendorBaseHost(String vendorBaseHost); /** * Set base Git service host. * * @param vendorBaseHost * base Git service host */ GitUrlVendorInfo withVendorBaseHost(String vendorBaseHost); /** * Set list of authorization scopes for specific Git service. * * @param oauthScopes * list of scopes */ void setOAuthScopes(List<String> oauthScopes); /** * Set list of authorization scopes for specific Git service. * * @param oauthScopes * list of scopes */ GitUrlVendorInfo withOAuthScopes(List<String> oauthScopes); /** * Set if current url is SSH. * * @param givenUrlSSH * true is current url is SSH */ void setGivenUrlSSH(boolean givenUrlSSH); /** * Set if current url is SSH. * * @param givenUrlSSH * true is current url is SSH */ GitUrlVendorInfo withGivenUrlSSH(boolean givenUrlSSH); }