001
002package io.vrap.rmf.base.client.oauth2;
003
004import java.util.Objects;
005
006public class ClientCredentialsBuilder {
007    private String clientId;
008    private String clientSecret;
009    private String scopes;
010
011    public ClientCredentialsBuilder() {
012    }
013
014    public ClientCredentialsBuilder withClientId(final String clientId) {
015        this.clientId = clientId;
016        return this;
017    }
018
019    public ClientCredentialsBuilder withClientSecret(final String clientSecret) {
020        this.clientSecret = clientSecret;
021        return this;
022    }
023
024    public ClientCredentialsBuilder withScopes(final String scopes) {
025        this.scopes = scopes;
026        return this;
027    }
028
029    public ClientCredentialsImpl build() {
030        Objects.requireNonNull(this.clientId);
031        Objects.requireNonNull(this.clientSecret);
032        return new ClientCredentialsImpl(clientId, clientSecret, scopes);
033    }
034}