Membership.java
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.spring.autoconfigure.aad;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.io.Serializable;
import java.util.Objects;
/**
* This class is used to deserialize json to object.
* Refs: https://docs.microsoft.com/en-us/previous-versions/azure/ad/graph/api/api-catalog
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class Membership implements Serializable {
private static final long serialVersionUID = 9064197572478554735L;
public static final String OBJECT_TYPE_GROUP = "Group";
private final String objectID;
private final String objectType;
private final String displayName;
@JsonCreator
public Membership(
@JsonProperty("objectId") @JsonAlias("id") String objectID,
@JsonProperty("objectType") @JsonAlias("@odata.type") String objectType,
@JsonProperty("displayName") String displayName) {
this.objectID = objectID;
this.objectType = objectType;
this.displayName = displayName;
}
public String getDisplayName() {
return displayName;
}
public String getObjectType() {
return objectType;
}
public String getObjectID() {
return objectID;
}
@Override
public boolean equals(Object o) {
if (o == this) {
return true;
}
if (!(o instanceof Membership)) {
return false;
}
final Membership group = (Membership) o;
return this.getDisplayName().equals(group.getDisplayName())
&& this.getObjectID().equals(group.getObjectID())
&& this.getObjectType().equals(group.getObjectType());
}
@Override
public int hashCode() {
return Objects.hash(objectID, objectType, displayName);
}
}