
com.atlan.model.admin.AtlanGroup Maven / Gradle / Ivy
// Generated by delombok at Thu Oct 10 18:56:32 UTC 2024
/* SPDX-License-Identifier: Apache-2.0
Copyright 2022 Atlan Pte. Ltd. */
package com.atlan.model.admin;
import com.atlan.Atlan;
import com.atlan.AtlanClient;
import com.atlan.exception.AtlanException;
import com.atlan.exception.ErrorCode;
import com.atlan.exception.InvalidRequestException;
import com.atlan.model.core.AtlanObject;
import com.fasterxml.jackson.annotation.JsonIgnore;
import java.util.Comparator;
import java.util.List;
import java.util.Locale;
import java.util.SortedSet;
import lombok.*;
@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = AtlanGroup.AtlanGroupBuilderImpl.class)
public class AtlanGroup extends AtlanObject {
private static final long serialVersionUID = 2L;
/**
* Name of the group as it appears in the UI.
*/
String alias;
/**
* Detailed attributes of the group.
*/
GroupAttributes attributes;
// TODO
/**
* TBC
*/
@JsonIgnore
String decentralizedRoles;
/**
* Unique identifier for the group (GUID).
*/
String id;
/**
* Unique (internal) name for the group.
*/
String name;
/**
* TBC
*/
String path;
/**
* Personas the group is associated with (limited details).
*/
SortedSet personas;
/**
* Purposes the group is associated with (limited details).
*/
SortedSet purposes;
/**
* TBC
*/
SortedSet roles;
/**
* Number of users in the group.
*/
Long userCount;
/**
* Whether this group is a default (auto-assigned to new users) (true), or not (false).
*/
@JsonIgnore
public boolean isDefault() {
return attributes != null && attributes.getIsDefault() != null && attributes.getIsDefault().contains("true");
}
/**
* Builds the minimal object necessary to create a group.
*
* @param alias name of the group, as it should appear in the UI
* @return the minimal request necessary to update the group, as a builder
*/
public static AtlanGroupBuilder, ?> creator(String alias) {
return AtlanGroup.builder().name(generateName(alias)).attributes(GroupAttributes.builder().alias(List.of(alias)).build());
}
/**
* Builds the minimal object necessary to update a group.
*
* @param id unique identifier (GUID) of the group
* @param path unique path of the group
* @return the minimal request necessary to update the group, as a builder
*/
public static AtlanGroupBuilder, ?> updater(String id, String path) {
return AtlanGroup.builder().id(id).path(path);
}
/**
* Generate an internal name for this group from its UI-shown alias.
*
* @param alias name of the group as it appears in the UI
* @return internal name for the group
*/
public static String generateName(String alias) {
String internal = alias.toLowerCase(Locale.ROOT);
return internal.replace(" ", "_");
}
/**
* Send this group to Atlan to create the group in Atlan.
*
* @return the unique identifier (GUID) of the group that was created, or null if no group was created
* @throws AtlanException on any error during API invocation
*/
public String create() throws AtlanException {
return create(Atlan.getDefaultClient());
}
/**
* Send this group to Atlan to create the group in Atlan.
*
* @param client connectivity to the Atlan tenant on which to create the group
* @return the unique identifier (GUID) of the group that was created, or null if no group was created
* @throws AtlanException on any error during API invocation
*/
public String create(AtlanClient client) throws AtlanException {
return client.groups.create(this);
}
/**
* Send this group to Atlan to update the group in Atlan.
*
* @throws AtlanException on any error during API invocation
*/
public void update() throws AtlanException {
update(Atlan.getDefaultClient());
}
/**
* Send this group to Atlan to update the group in Atlan.
*
* @param client connectivity to the Atlan tenant on which to update the group
* @throws AtlanException on any error during API invocation
*/
public void update(AtlanClient client) throws AtlanException {
if (this.id == null || this.id.isEmpty()) {
throw new InvalidRequestException(ErrorCode.MISSING_GROUP_ID);
}
client.groups.update(this.id, this);
}
/**
* Delete a group from Atlan.
*
* @param id unique identifier (GUID) of the group to delete
* @throws AtlanException on any error during API invocation
*/
public static void delete(String id) throws AtlanException {
delete(Atlan.getDefaultClient(), id);
}
/**
* Delete a group from Atlan.
*
* @param client connectivity to the Atlan tenant from which to delete the group
* @param id unique identifier (GUID) of the group to delete
* @throws AtlanException on any error during API invocation
*/
public static void delete(AtlanClient client, String id) throws AtlanException {
client.groups.purge(id);
}
/**
* Retrieves all groups currently defined in Atlan.
*
* @return the list of groups currently defined in Atlan
* @throws AtlanException on any error during API invocation
*/
public static List list() throws AtlanException {
return list(Atlan.getDefaultClient());
}
/**
* Retrieves all groups currently defined in Atlan.
*
* @param client connectivity to the Atlan tenant from which to list the groups
* @return the list of groups currently defined in Atlan
* @throws AtlanException on any error during API invocation
*/
public static List list(AtlanClient client) throws AtlanException {
return client.groups.list();
}
/**
* Retrieves all groups with a name that contains the provided string.
* (This could include a complete group name, in which case there should be at
* most a single item in the returned list, or could be a partial group name
* to retrieve all groups with that naming convention.)
*
* @param alias name (as it appears in the UI) on which to filter the groups
* @return all groups whose name (in the UI) contains the provided string
* @throws AtlanException on any error during API invocation
*/
@JsonIgnore
public static List get(String alias) throws AtlanException {
return get(Atlan.getDefaultClient(), alias);
}
/**
* Retrieves all groups with a name that contains the provided string.
* (This could include a complete group name, in which case there should be at
* most a single item in the returned list, or could be a partial group name
* to retrieve all groups with that naming convention.)
*
* @param client connectivity to the Atlan tenant from which to retrieve the group
* @param alias name (as it appears in the UI) on which to filter the groups
* @return all groups whose name (in the UI) contains the provided string
* @throws AtlanException on any error during API invocation
*/
@JsonIgnore
public static List get(AtlanClient client, String alias) throws AtlanException {
return client.groups.get(alias);
}
/**
* Remove one or more users from this group.
*
* @param userIds unique identifiers (GUIDs) of the users to remove from the group
* @throws AtlanException on any API communication issue
*/
public void removeUsers(List userIds) throws AtlanException {
removeUsers(Atlan.getDefaultClient(), userIds);
}
/**
* Remove one or more users from this group.
*
* @param client connectivity to the Atlan tenant from which to remove the users from the group
* @param userIds unique identifiers (GUIDs) of the users to remove from the group
* @throws AtlanException on any API communication issue
*/
public void removeUsers(AtlanClient client, List userIds) throws AtlanException {
if (this.id == null || this.id.isEmpty()) {
throw new InvalidRequestException(ErrorCode.MISSING_GROUP_ID);
}
client.groups.removeMembers(this.id, userIds);
}
/**
* Fetch the users that belong to this group.
*
* @return details of the users that belong to this group
* @throws AtlanException on any API communication issue
*/
public UserResponse fetchUsers() throws AtlanException {
return fetchUsers(Atlan.getDefaultClient());
}
/**
* Fetch the users that belong to this group.
*
* @param client connectivity to the Atlan tenant from which to retrieve the users belonging to the group
* @return details of the users that belong to this group
* @throws AtlanException on any API communication issue
*/
public UserResponse fetchUsers(AtlanClient client) throws AtlanException {
if (this.id == null || this.id.isEmpty()) {
throw new InvalidRequestException(ErrorCode.MISSING_GROUP_ID);
}
return client.groups.listMembers(this.id);
}
@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = AtlanGroup.GroupAttributes.GroupAttributesBuilderImpl.class)
public static final class GroupAttributes extends AtlanObject {
private static final long serialVersionUID = 2L;
/**
* Name of the group as it appears in the UI.
*/
List alias;
/**
* Time (epoch) at which the group was created, in milliseconds.
*/
List createdAt;
/**
* User who created the group.
*/
List createdBy;
/**
* Time (epoch) at which the group was last updated, in milliseconds.
*/
List updatedAt;
/**
* User who last updated the group.
*/
List updatedBy;
/**
* Description of the group.
*/
List description;
/**
* Whether this group should be auto-assigned to all new users (true) or not (false).
*/
List isDefault;
/**
* Slack channels for this group.
*/
List channels;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static List $default$isDefault() {
return List.of("false");
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static abstract class GroupAttributesBuilder> extends AtlanObject.AtlanObjectBuilder {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private List alias;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private List createdAt;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private List createdBy;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private List updatedAt;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private List updatedBy;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private List description;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private boolean isDefault$set;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private List isDefault$value;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private List channels;
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected B $fillValuesFrom(final C instance) {
super.$fillValuesFrom(instance);
AtlanGroup.GroupAttributes.GroupAttributesBuilder.$fillValuesFromInstanceIntoBuilder(instance, this);
return self();
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static void $fillValuesFromInstanceIntoBuilder(final AtlanGroup.GroupAttributes instance, final AtlanGroup.GroupAttributes.GroupAttributesBuilder, ?> b) {
b.alias(instance.alias);
b.createdAt(instance.createdAt);
b.createdBy(instance.createdBy);
b.updatedAt(instance.updatedAt);
b.updatedBy(instance.updatedBy);
b.description(instance.description);
b.isDefault(instance.isDefault);
b.channels(instance.channels);
}
/**
* Name of the group as it appears in the UI.
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B alias(final List alias) {
this.alias = alias;
return self();
}
/**
* Time (epoch) at which the group was created, in milliseconds.
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B createdAt(final List createdAt) {
this.createdAt = createdAt;
return self();
}
/**
* User who created the group.
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B createdBy(final List createdBy) {
this.createdBy = createdBy;
return self();
}
/**
* Time (epoch) at which the group was last updated, in milliseconds.
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B updatedAt(final List updatedAt) {
this.updatedAt = updatedAt;
return self();
}
/**
* User who last updated the group.
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B updatedBy(final List updatedBy) {
this.updatedBy = updatedBy;
return self();
}
/**
* Description of the group.
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B description(final List description) {
this.description = description;
return self();
}
/**
* Whether this group should be auto-assigned to all new users (true) or not (false).
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B isDefault(final List isDefault) {
this.isDefault$value = isDefault;
isDefault$set = true;
return self();
}
/**
* Slack channels for this group.
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B channels(final List channels) {
this.channels = channels;
return self();
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected abstract B self();
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public abstract C build();
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public java.lang.String toString() {
return "AtlanGroup.GroupAttributes.GroupAttributesBuilder(super=" + super.toString() + ", alias=" + this.alias + ", createdAt=" + this.createdAt + ", createdBy=" + this.createdBy + ", updatedAt=" + this.updatedAt + ", updatedBy=" + this.updatedBy + ", description=" + this.description + ", isDefault$value=" + this.isDefault$value + ", channels=" + this.channels + ")";
}
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "", buildMethodName = "build")
static final class GroupAttributesBuilderImpl extends AtlanGroup.GroupAttributes.GroupAttributesBuilder {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private GroupAttributesBuilderImpl() {
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected AtlanGroup.GroupAttributes.GroupAttributesBuilderImpl self() {
return this;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public AtlanGroup.GroupAttributes build() {
return new AtlanGroup.GroupAttributes(this);
}
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected GroupAttributes(final AtlanGroup.GroupAttributes.GroupAttributesBuilder, ?> b) {
super(b);
this.alias = b.alias;
this.createdAt = b.createdAt;
this.createdBy = b.createdBy;
this.updatedAt = b.updatedAt;
this.updatedBy = b.updatedBy;
this.description = b.description;
if (b.isDefault$set) this.isDefault = b.isDefault$value;
else this.isDefault = AtlanGroup.GroupAttributes.$default$isDefault();
this.channels = b.channels;
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static AtlanGroup.GroupAttributes.GroupAttributesBuilder, ?> builder() {
return new AtlanGroup.GroupAttributes.GroupAttributesBuilderImpl();
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public AtlanGroup.GroupAttributes.GroupAttributesBuilder, ?> toBuilder() {
return new AtlanGroup.GroupAttributes.GroupAttributesBuilderImpl().$fillValuesFrom(this);
}
/**
* Name of the group as it appears in the UI.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public List getAlias() {
return this.alias;
}
/**
* Time (epoch) at which the group was created, in milliseconds.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public List getCreatedAt() {
return this.createdAt;
}
/**
* User who created the group.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public List getCreatedBy() {
return this.createdBy;
}
/**
* Time (epoch) at which the group was last updated, in milliseconds.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public List getUpdatedAt() {
return this.updatedAt;
}
/**
* User who last updated the group.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public List getUpdatedBy() {
return this.updatedBy;
}
/**
* Description of the group.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public List getDescription() {
return this.description;
}
/**
* Whether this group should be auto-assigned to all new users (true) or not (false).
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public List getIsDefault() {
return this.isDefault;
}
/**
* Slack channels for this group.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public List getChannels() {
return this.channels;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof AtlanGroup.GroupAttributes)) return false;
final AtlanGroup.GroupAttributes other = (AtlanGroup.GroupAttributes) o;
if (!other.canEqual((java.lang.Object) this)) return false;
if (!super.equals(o)) return false;
final java.lang.Object this$alias = this.getAlias();
final java.lang.Object other$alias = other.getAlias();
if (this$alias == null ? other$alias != null : !this$alias.equals(other$alias)) return false;
final java.lang.Object this$createdAt = this.getCreatedAt();
final java.lang.Object other$createdAt = other.getCreatedAt();
if (this$createdAt == null ? other$createdAt != null : !this$createdAt.equals(other$createdAt)) return false;
final java.lang.Object this$createdBy = this.getCreatedBy();
final java.lang.Object other$createdBy = other.getCreatedBy();
if (this$createdBy == null ? other$createdBy != null : !this$createdBy.equals(other$createdBy)) return false;
final java.lang.Object this$updatedAt = this.getUpdatedAt();
final java.lang.Object other$updatedAt = other.getUpdatedAt();
if (this$updatedAt == null ? other$updatedAt != null : !this$updatedAt.equals(other$updatedAt)) return false;
final java.lang.Object this$updatedBy = this.getUpdatedBy();
final java.lang.Object other$updatedBy = other.getUpdatedBy();
if (this$updatedBy == null ? other$updatedBy != null : !this$updatedBy.equals(other$updatedBy)) return false;
final java.lang.Object this$description = this.getDescription();
final java.lang.Object other$description = other.getDescription();
if (this$description == null ? other$description != null : !this$description.equals(other$description)) return false;
final java.lang.Object this$isDefault = this.getIsDefault();
final java.lang.Object other$isDefault = other.getIsDefault();
if (this$isDefault == null ? other$isDefault != null : !this$isDefault.equals(other$isDefault)) return false;
final java.lang.Object this$channels = this.getChannels();
final java.lang.Object other$channels = other.getChannels();
if (this$channels == null ? other$channels != null : !this$channels.equals(other$channels)) return false;
return true;
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected boolean canEqual(final java.lang.Object other) {
return other instanceof AtlanGroup.GroupAttributes;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public int hashCode() {
final int PRIME = 59;
int result = super.hashCode();
final java.lang.Object $alias = this.getAlias();
result = result * PRIME + ($alias == null ? 43 : $alias.hashCode());
final java.lang.Object $createdAt = this.getCreatedAt();
result = result * PRIME + ($createdAt == null ? 43 : $createdAt.hashCode());
final java.lang.Object $createdBy = this.getCreatedBy();
result = result * PRIME + ($createdBy == null ? 43 : $createdBy.hashCode());
final java.lang.Object $updatedAt = this.getUpdatedAt();
result = result * PRIME + ($updatedAt == null ? 43 : $updatedAt.hashCode());
final java.lang.Object $updatedBy = this.getUpdatedBy();
result = result * PRIME + ($updatedBy == null ? 43 : $updatedBy.hashCode());
final java.lang.Object $description = this.getDescription();
result = result * PRIME + ($description == null ? 43 : $description.hashCode());
final java.lang.Object $isDefault = this.getIsDefault();
result = result * PRIME + ($isDefault == null ? 43 : $isDefault.hashCode());
final java.lang.Object $channels = this.getChannels();
result = result * PRIME + ($channels == null ? 43 : $channels.hashCode());
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public java.lang.String toString() {
return "AtlanGroup.GroupAttributes(super=" + super.toString() + ", alias=" + this.getAlias() + ", createdAt=" + this.getCreatedAt() + ", createdBy=" + this.getCreatedBy() + ", updatedAt=" + this.getUpdatedAt() + ", updatedBy=" + this.getUpdatedBy() + ", description=" + this.getDescription() + ", isDefault=" + this.getIsDefault() + ", channels=" + this.getChannels() + ")";
}
}
@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = AtlanGroup.Persona.PersonaBuilderImpl.class)
public static final class Persona extends AtlanObject implements Comparable {
private static final long serialVersionUID = 2L;
private static final Comparator stringComparator = Comparator.nullsFirst(String::compareTo);
private static final Comparator personaComparator = Comparator.comparing(AtlanGroup.Persona::getId, stringComparator);
/**
* UUID of the persona.
*/
String id;
/**
* Name of the persona.
*/
String name;
/**
* Business name of the persona.
*/
String displayName;
/**
* Unique internal name of the persona.
*/
String qualifiedName;
/**
* {@inheritDoc}
*/
@Override
public int compareTo(AtlanGroup.Persona o) {
return personaComparator.compare(this, o);
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static abstract class PersonaBuilder> extends AtlanObject.AtlanObjectBuilder {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private String id;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private String name;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private String displayName;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private String qualifiedName;
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected B $fillValuesFrom(final C instance) {
super.$fillValuesFrom(instance);
AtlanGroup.Persona.PersonaBuilder.$fillValuesFromInstanceIntoBuilder(instance, this);
return self();
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static void $fillValuesFromInstanceIntoBuilder(final AtlanGroup.Persona instance, final AtlanGroup.Persona.PersonaBuilder, ?> b) {
b.id(instance.id);
b.name(instance.name);
b.displayName(instance.displayName);
b.qualifiedName(instance.qualifiedName);
}
/**
* UUID of the persona.
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B id(final String id) {
this.id = id;
return self();
}
/**
* Name of the persona.
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B name(final String name) {
this.name = name;
return self();
}
/**
* Business name of the persona.
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B displayName(final String displayName) {
this.displayName = displayName;
return self();
}
/**
* Unique internal name of the persona.
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B qualifiedName(final String qualifiedName) {
this.qualifiedName = qualifiedName;
return self();
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected abstract B self();
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public abstract C build();
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public java.lang.String toString() {
return "AtlanGroup.Persona.PersonaBuilder(super=" + super.toString() + ", id=" + this.id + ", name=" + this.name + ", displayName=" + this.displayName + ", qualifiedName=" + this.qualifiedName + ")";
}
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "", buildMethodName = "build")
static final class PersonaBuilderImpl extends AtlanGroup.Persona.PersonaBuilder {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private PersonaBuilderImpl() {
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected AtlanGroup.Persona.PersonaBuilderImpl self() {
return this;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public AtlanGroup.Persona build() {
return new AtlanGroup.Persona(this);
}
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected Persona(final AtlanGroup.Persona.PersonaBuilder, ?> b) {
super(b);
this.id = b.id;
this.name = b.name;
this.displayName = b.displayName;
this.qualifiedName = b.qualifiedName;
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static AtlanGroup.Persona.PersonaBuilder, ?> builder() {
return new AtlanGroup.Persona.PersonaBuilderImpl();
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public AtlanGroup.Persona.PersonaBuilder, ?> toBuilder() {
return new AtlanGroup.Persona.PersonaBuilderImpl().$fillValuesFrom(this);
}
/**
* UUID of the persona.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public String getId() {
return this.id;
}
/**
* Name of the persona.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public String getName() {
return this.name;
}
/**
* Business name of the persona.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public String getDisplayName() {
return this.displayName;
}
/**
* Unique internal name of the persona.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public String getQualifiedName() {
return this.qualifiedName;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof AtlanGroup.Persona)) return false;
final AtlanGroup.Persona other = (AtlanGroup.Persona) o;
if (!other.canEqual((java.lang.Object) this)) return false;
if (!super.equals(o)) return false;
final java.lang.Object this$id = this.getId();
final java.lang.Object other$id = other.getId();
if (this$id == null ? other$id != null : !this$id.equals(other$id)) return false;
final java.lang.Object this$name = this.getName();
final java.lang.Object other$name = other.getName();
if (this$name == null ? other$name != null : !this$name.equals(other$name)) return false;
final java.lang.Object this$displayName = this.getDisplayName();
final java.lang.Object other$displayName = other.getDisplayName();
if (this$displayName == null ? other$displayName != null : !this$displayName.equals(other$displayName)) return false;
final java.lang.Object this$qualifiedName = this.getQualifiedName();
final java.lang.Object other$qualifiedName = other.getQualifiedName();
if (this$qualifiedName == null ? other$qualifiedName != null : !this$qualifiedName.equals(other$qualifiedName)) return false;
return true;
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected boolean canEqual(final java.lang.Object other) {
return other instanceof AtlanGroup.Persona;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public int hashCode() {
final int PRIME = 59;
int result = super.hashCode();
final java.lang.Object $id = this.getId();
result = result * PRIME + ($id == null ? 43 : $id.hashCode());
final java.lang.Object $name = this.getName();
result = result * PRIME + ($name == null ? 43 : $name.hashCode());
final java.lang.Object $displayName = this.getDisplayName();
result = result * PRIME + ($displayName == null ? 43 : $displayName.hashCode());
final java.lang.Object $qualifiedName = this.getQualifiedName();
result = result * PRIME + ($qualifiedName == null ? 43 : $qualifiedName.hashCode());
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public java.lang.String toString() {
return "AtlanGroup.Persona(super=" + super.toString() + ", id=" + this.getId() + ", name=" + this.getName() + ", displayName=" + this.getDisplayName() + ", qualifiedName=" + this.getQualifiedName() + ")";
}
}
@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = AtlanGroup.Purpose.PurposeBuilderImpl.class)
public static final class Purpose extends AtlanObject implements Comparable {
private static final long serialVersionUID = 2L;
private static final Comparator stringComparator = Comparator.nullsFirst(String::compareTo);
private static final Comparator purposeComparator = Comparator.comparing(AtlanGroup.Purpose::getGuid, stringComparator);
/** UUID of the purpose. */
String guid;
/** Name of the purpose. */
String name;
/** Unique internal name of the purpose. */
String qualifiedName;
/** {@inheritDoc} */
@Override
public int compareTo(AtlanGroup.Purpose o) {
return purposeComparator.compare(this, o);
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static abstract class PurposeBuilder> extends AtlanObject.AtlanObjectBuilder {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private String guid;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private String name;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private String qualifiedName;
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected B $fillValuesFrom(final C instance) {
super.$fillValuesFrom(instance);
AtlanGroup.Purpose.PurposeBuilder.$fillValuesFromInstanceIntoBuilder(instance, this);
return self();
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static void $fillValuesFromInstanceIntoBuilder(final AtlanGroup.Purpose instance, final AtlanGroup.Purpose.PurposeBuilder, ?> b) {
b.guid(instance.guid);
b.name(instance.name);
b.qualifiedName(instance.qualifiedName);
}
/**
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B guid(final String guid) {
this.guid = guid;
return self();
}
/**
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B name(final String name) {
this.name = name;
return self();
}
/**
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B qualifiedName(final String qualifiedName) {
this.qualifiedName = qualifiedName;
return self();
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected abstract B self();
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public abstract C build();
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public java.lang.String toString() {
return "AtlanGroup.Purpose.PurposeBuilder(super=" + super.toString() + ", guid=" + this.guid + ", name=" + this.name + ", qualifiedName=" + this.qualifiedName + ")";
}
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "", buildMethodName = "build")
static final class PurposeBuilderImpl extends AtlanGroup.Purpose.PurposeBuilder {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private PurposeBuilderImpl() {
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected AtlanGroup.Purpose.PurposeBuilderImpl self() {
return this;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public AtlanGroup.Purpose build() {
return new AtlanGroup.Purpose(this);
}
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected Purpose(final AtlanGroup.Purpose.PurposeBuilder, ?> b) {
super(b);
this.guid = b.guid;
this.name = b.name;
this.qualifiedName = b.qualifiedName;
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static AtlanGroup.Purpose.PurposeBuilder, ?> builder() {
return new AtlanGroup.Purpose.PurposeBuilderImpl();
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public AtlanGroup.Purpose.PurposeBuilder, ?> toBuilder() {
return new AtlanGroup.Purpose.PurposeBuilderImpl().$fillValuesFrom(this);
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public String getGuid() {
return this.guid;
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public String getName() {
return this.name;
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public String getQualifiedName() {
return this.qualifiedName;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof AtlanGroup.Purpose)) return false;
final AtlanGroup.Purpose other = (AtlanGroup.Purpose) o;
if (!other.canEqual((java.lang.Object) this)) return false;
if (!super.equals(o)) return false;
final java.lang.Object this$guid = this.getGuid();
final java.lang.Object other$guid = other.getGuid();
if (this$guid == null ? other$guid != null : !this$guid.equals(other$guid)) return false;
final java.lang.Object this$name = this.getName();
final java.lang.Object other$name = other.getName();
if (this$name == null ? other$name != null : !this$name.equals(other$name)) return false;
final java.lang.Object this$qualifiedName = this.getQualifiedName();
final java.lang.Object other$qualifiedName = other.getQualifiedName();
if (this$qualifiedName == null ? other$qualifiedName != null : !this$qualifiedName.equals(other$qualifiedName)) return false;
return true;
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected boolean canEqual(final java.lang.Object other) {
return other instanceof AtlanGroup.Purpose;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public int hashCode() {
final int PRIME = 59;
int result = super.hashCode();
final java.lang.Object $guid = this.getGuid();
result = result * PRIME + ($guid == null ? 43 : $guid.hashCode());
final java.lang.Object $name = this.getName();
result = result * PRIME + ($name == null ? 43 : $name.hashCode());
final java.lang.Object $qualifiedName = this.getQualifiedName();
result = result * PRIME + ($qualifiedName == null ? 43 : $qualifiedName.hashCode());
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public java.lang.String toString() {
return "AtlanGroup.Purpose(super=" + super.toString() + ", guid=" + this.getGuid() + ", name=" + this.getName() + ", qualifiedName=" + this.getQualifiedName() + ")";
}
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static abstract class AtlanGroupBuilder> extends AtlanObject.AtlanObjectBuilder {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private String alias;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private GroupAttributes attributes;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private String decentralizedRoles;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private String id;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private String name;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private String path;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private SortedSet personas;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private SortedSet purposes;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private SortedSet roles;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private Long userCount;
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected B $fillValuesFrom(final C instance) {
super.$fillValuesFrom(instance);
AtlanGroup.AtlanGroupBuilder.$fillValuesFromInstanceIntoBuilder(instance, this);
return self();
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static void $fillValuesFromInstanceIntoBuilder(final AtlanGroup instance, final AtlanGroup.AtlanGroupBuilder, ?> b) {
b.alias(instance.alias);
b.attributes(instance.attributes);
b.decentralizedRoles(instance.decentralizedRoles);
b.id(instance.id);
b.name(instance.name);
b.path(instance.path);
b.personas(instance.personas);
b.purposes(instance.purposes);
b.roles(instance.roles);
b.userCount(instance.userCount);
}
/**
* Name of the group as it appears in the UI.
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B alias(final String alias) {
this.alias = alias;
return self();
}
/**
* Detailed attributes of the group.
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B attributes(final GroupAttributes attributes) {
this.attributes = attributes;
return self();
}
/**
* TBC
* @return {@code this}.
*/
@JsonIgnore
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B decentralizedRoles(final String decentralizedRoles) {
this.decentralizedRoles = decentralizedRoles;
return self();
}
/**
* Unique identifier for the group (GUID).
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B id(final String id) {
this.id = id;
return self();
}
/**
* Unique (internal) name for the group.
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B name(final String name) {
this.name = name;
return self();
}
/**
* TBC
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B path(final String path) {
this.path = path;
return self();
}
/**
* Personas the group is associated with (limited details).
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B personas(final SortedSet personas) {
this.personas = personas;
return self();
}
/**
* Purposes the group is associated with (limited details).
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B purposes(final SortedSet purposes) {
this.purposes = purposes;
return self();
}
/**
* TBC
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B roles(final SortedSet roles) {
this.roles = roles;
return self();
}
/**
* Number of users in the group.
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B userCount(final Long userCount) {
this.userCount = userCount;
return self();
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected abstract B self();
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public abstract C build();
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public java.lang.String toString() {
return "AtlanGroup.AtlanGroupBuilder(super=" + super.toString() + ", alias=" + this.alias + ", attributes=" + this.attributes + ", decentralizedRoles=" + this.decentralizedRoles + ", id=" + this.id + ", name=" + this.name + ", path=" + this.path + ", personas=" + this.personas + ", purposes=" + this.purposes + ", roles=" + this.roles + ", userCount=" + this.userCount + ")";
}
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "", buildMethodName = "build")
static final class AtlanGroupBuilderImpl extends AtlanGroup.AtlanGroupBuilder {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private AtlanGroupBuilderImpl() {
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected AtlanGroup.AtlanGroupBuilderImpl self() {
return this;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public AtlanGroup build() {
return new AtlanGroup(this);
}
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected AtlanGroup(final AtlanGroup.AtlanGroupBuilder, ?> b) {
super(b);
this.alias = b.alias;
this.attributes = b.attributes;
this.decentralizedRoles = b.decentralizedRoles;
this.id = b.id;
this.name = b.name;
this.path = b.path;
this.personas = b.personas;
this.purposes = b.purposes;
this.roles = b.roles;
this.userCount = b.userCount;
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static AtlanGroup.AtlanGroupBuilder, ?> builder() {
return new AtlanGroup.AtlanGroupBuilderImpl();
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public AtlanGroup.AtlanGroupBuilder, ?> toBuilder() {
return new AtlanGroup.AtlanGroupBuilderImpl().$fillValuesFrom(this);
}
/**
* Name of the group as it appears in the UI.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public String getAlias() {
return this.alias;
}
/**
* Detailed attributes of the group.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public GroupAttributes getAttributes() {
return this.attributes;
}
/**
* TBC
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public String getDecentralizedRoles() {
return this.decentralizedRoles;
}
/**
* Unique identifier for the group (GUID).
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public String getId() {
return this.id;
}
/**
* Unique (internal) name for the group.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public String getName() {
return this.name;
}
/**
* TBC
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public String getPath() {
return this.path;
}
/**
* Personas the group is associated with (limited details).
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public SortedSet getPersonas() {
return this.personas;
}
/**
* Purposes the group is associated with (limited details).
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public SortedSet getPurposes() {
return this.purposes;
}
/**
* TBC
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public SortedSet getRoles() {
return this.roles;
}
/**
* Number of users in the group.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public Long getUserCount() {
return this.userCount;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof AtlanGroup)) return false;
final AtlanGroup other = (AtlanGroup) o;
if (!other.canEqual((java.lang.Object) this)) return false;
if (!super.equals(o)) return false;
final java.lang.Object this$userCount = this.getUserCount();
final java.lang.Object other$userCount = other.getUserCount();
if (this$userCount == null ? other$userCount != null : !this$userCount.equals(other$userCount)) return false;
final java.lang.Object this$alias = this.getAlias();
final java.lang.Object other$alias = other.getAlias();
if (this$alias == null ? other$alias != null : !this$alias.equals(other$alias)) return false;
final java.lang.Object this$attributes = this.getAttributes();
final java.lang.Object other$attributes = other.getAttributes();
if (this$attributes == null ? other$attributes != null : !this$attributes.equals(other$attributes)) return false;
final java.lang.Object this$decentralizedRoles = this.getDecentralizedRoles();
final java.lang.Object other$decentralizedRoles = other.getDecentralizedRoles();
if (this$decentralizedRoles == null ? other$decentralizedRoles != null : !this$decentralizedRoles.equals(other$decentralizedRoles)) return false;
final java.lang.Object this$id = this.getId();
final java.lang.Object other$id = other.getId();
if (this$id == null ? other$id != null : !this$id.equals(other$id)) return false;
final java.lang.Object this$name = this.getName();
final java.lang.Object other$name = other.getName();
if (this$name == null ? other$name != null : !this$name.equals(other$name)) return false;
final java.lang.Object this$path = this.getPath();
final java.lang.Object other$path = other.getPath();
if (this$path == null ? other$path != null : !this$path.equals(other$path)) return false;
final java.lang.Object this$personas = this.getPersonas();
final java.lang.Object other$personas = other.getPersonas();
if (this$personas == null ? other$personas != null : !this$personas.equals(other$personas)) return false;
final java.lang.Object this$purposes = this.getPurposes();
final java.lang.Object other$purposes = other.getPurposes();
if (this$purposes == null ? other$purposes != null : !this$purposes.equals(other$purposes)) return false;
final java.lang.Object this$roles = this.getRoles();
final java.lang.Object other$roles = other.getRoles();
if (this$roles == null ? other$roles != null : !this$roles.equals(other$roles)) return false;
return true;
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected boolean canEqual(final java.lang.Object other) {
return other instanceof AtlanGroup;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public int hashCode() {
final int PRIME = 59;
int result = super.hashCode();
final java.lang.Object $userCount = this.getUserCount();
result = result * PRIME + ($userCount == null ? 43 : $userCount.hashCode());
final java.lang.Object $alias = this.getAlias();
result = result * PRIME + ($alias == null ? 43 : $alias.hashCode());
final java.lang.Object $attributes = this.getAttributes();
result = result * PRIME + ($attributes == null ? 43 : $attributes.hashCode());
final java.lang.Object $decentralizedRoles = this.getDecentralizedRoles();
result = result * PRIME + ($decentralizedRoles == null ? 43 : $decentralizedRoles.hashCode());
final java.lang.Object $id = this.getId();
result = result * PRIME + ($id == null ? 43 : $id.hashCode());
final java.lang.Object $name = this.getName();
result = result * PRIME + ($name == null ? 43 : $name.hashCode());
final java.lang.Object $path = this.getPath();
result = result * PRIME + ($path == null ? 43 : $path.hashCode());
final java.lang.Object $personas = this.getPersonas();
result = result * PRIME + ($personas == null ? 43 : $personas.hashCode());
final java.lang.Object $purposes = this.getPurposes();
result = result * PRIME + ($purposes == null ? 43 : $purposes.hashCode());
final java.lang.Object $roles = this.getRoles();
result = result * PRIME + ($roles == null ? 43 : $roles.hashCode());
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public java.lang.String toString() {
return "AtlanGroup(super=" + super.toString() + ", alias=" + this.getAlias() + ", attributes=" + this.getAttributes() + ", decentralizedRoles=" + this.getDecentralizedRoles() + ", id=" + this.getId() + ", name=" + this.getName() + ", path=" + this.getPath() + ", personas=" + this.getPersonas() + ", purposes=" + this.getPurposes() + ", roles=" + this.getRoles() + ", userCount=" + this.getUserCount() + ")";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy