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

org.openstack4j.openstack.identity.domain.Credentials Maven / Gradle / Ivy

package org.openstack4j.openstack.identity.domain;

import java.io.Serializable;

import org.openstack4j.model.identity.AuthStore;
import org.openstack4j.model.identity.AuthVersion;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonRootName;

@JsonRootName("auth")
public class Credentials extends Auth implements AuthStore {

    private static final long serialVersionUID = 1L;

    @JsonProperty(value="passwordCredentials")
    private PasswordCredentials passwordCreds = new PasswordCredentials();


    public Credentials() { 
        super(Type.CREDENTIALS);
    }

    public Credentials(String username, String password) {
        this();
        passwordCreds.setCredentials(username, password);
    }

    public Credentials(String username, String password, String tenantName) {
        this();
        passwordCreds.setCredentials(username, password);
        setTenantName(tenantName);
    }

    public Credentials(String username, String password, String tenantName, String tenantId) {
        this();
        passwordCreds.setCredentials(username, password);
        setTenantName(tenantName);
        setTenantId(tenantId);
    }

    @JsonIgnore
    public String getUsername() {
        return passwordCreds.username;
    }

    @JsonIgnore
    public String getPassword() {
        return passwordCreds.password;
    }

    @SuppressWarnings("unchecked")
    @JsonIgnore
    @Override
    public  T unwrap() {
        return (T) this;
    }

    @JsonIgnore
    @Override
    public String getId() {
        return getTenantId();
    }

    @JsonIgnore
    @Override
    public String getName() {
        return getTenantName();
    }

    private static final class PasswordCredentials implements Serializable {

		private static final long serialVersionUID = 1L;
		
		@JsonProperty
        String username;
        @JsonProperty
        String password;

        public void setCredentials(String username, String password) {
            this.username = username;
            this.password = password;
        }
    }

    @JsonIgnore
    @Override
    public AuthVersion getVersion() {
        return AuthVersion.V2;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy