class Credentials implements Comparable<Credentials> {

    @Override
    public boolean equals(final Object o) {
        if(this == o) {
            return true;
        }
        if(!(o instanceof Credentials)) {
            return false;
        }
        final Credentials that = (Credentials) o;
        return Objects.equals(user, that.user) &&
            Objects.equals(password, that.password) &&
            Objects.equals(token, that.token) &&
            Objects.equals(identity, that.identity) &&
            Objects.equals(certificate, that.certificate);
    }

    public  Credentials();
    public  Credentials(final Credentials copy);
    public  Credentials(final String user);
    public  Credentials(final String user, final String password);
    public  Credentials(final String user, final String password, final String token);

}