Skip to content
Snippets Groups Projects

feat: Improve code quality

3 unresolved threads
Files
31
/*********************************************************************
* Copyright (c) 2023 Eclipse Foundation.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* Author: Zachary Sabourin <zachary.sabourin@eclipse-foundation.org>
*
* SPDX-License-Identifier: EPL-2.0
**********************************************************************/
package org.eclipsefoundation.profile.api.models;
import java.util.List;
import java.util.Map;
import javax.annotation.Nullable;
import org.eclipsefoundation.efservices.api.models.EfUser.Country;
import org.eclipsefoundation.efservices.api.models.EfUser.PublisherAgreement;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
import com.google.auto.value.AutoValue;
/**
* The additional profile data retrieved from the Drupal Accounts-API.
* Used to supplment the data retrieved through LDAP.
*/
@AutoValue
@JsonDeserialize(builder = AutoValue_AccountsProfileData.Builder.class)
public abstract class AccountsProfileData {
public abstract Integer getUid();
public abstract String getName();
public abstract String getPicture();
public abstract String getFirstName();
public abstract String getLastName();
public abstract Map<String, PublisherAgreement> getPublisherAgreements();
public abstract String getTwitterHandle();
public abstract String getGithubHandle();
public abstract String getOrg();
@Nullable
public abstract String getOrgId();
public abstract String getJobTitle();
public abstract String getWebsite();
public abstract Country getCountry();
@Nullable
public abstract String getBio();
public abstract List<String> getInterests();
public abstract List<String> getWorkingGroupsInterests();
public abstract Builder toBuilder();
public static Builder builder() {
return new AutoValue_AccountsProfileData.Builder();
}
@AutoValue.Builder
@JsonPOJOBuilder(withPrefix = "set")
public abstract static class Builder {
public abstract Builder setUid(Integer uid);
public abstract Builder setName(String name);
public abstract Builder setPicture(String picture);
public abstract Builder setFirstName(String fName);
public abstract Builder setLastName(String lName);
public abstract Builder setPublisherAgreements(Map<String, PublisherAgreement> agreements);
public abstract Builder setTwitterHandle(String handle);
public abstract Builder setGithubHandle(String handle);
public abstract Builder setOrg(String org);
public abstract Builder setOrgId(@Nullable String id);
public abstract Builder setJobTitle(String title);
public abstract Builder setWebsite(String website);
public abstract Builder setCountry(Country country);
public abstract Builder setBio(@Nullable String bio);
public abstract Builder setInterests(List<String> interests);
public abstract Builder setWorkingGroupsInterests(List<String> interests);
public abstract AccountsProfileData build();
}
}
Loading