com.microsoft.graph.generated.models.CalendarGroup Maven / Gradle / Ivy
package com.microsoft.graph.models;
import com.microsoft.kiota.serialization.Parsable;
import com.microsoft.kiota.serialization.ParseNode;
import com.microsoft.kiota.serialization.SerializationWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.UUID;
@jakarta.annotation.Generated("com.microsoft.kiota")
public class CalendarGroup extends Entity implements Parsable {
/**
* Instantiates a new {@link CalendarGroup} and sets the default values.
*/
public CalendarGroup() {
super();
}
/**
* Creates a new instance of the appropriate class based on discriminator value
* @param parseNode The parse node to use to read the discriminator value and create the object
* @return a {@link CalendarGroup}
*/
@jakarta.annotation.Nonnull
public static CalendarGroup createFromDiscriminatorValue(@jakarta.annotation.Nonnull final ParseNode parseNode) {
Objects.requireNonNull(parseNode);
return new CalendarGroup();
}
/**
* Gets the calendars property value. The calendars in the calendar group. Navigation property. Read-only. Nullable.
* @return a {@link java.util.List}
*/
@jakarta.annotation.Nullable
public java.util.List getCalendars() {
return this.backingStore.get("calendars");
}
/**
* Gets the changeKey property value. Identifies the version of the calendar group. Every time the calendar group is changed, ChangeKey changes as well. This allows Exchange to apply changes to the correct version of the object. Read-only.
* @return a {@link String}
*/
@jakarta.annotation.Nullable
public String getChangeKey() {
return this.backingStore.get("changeKey");
}
/**
* Gets the classId property value. The class identifier. Read-only.
* @return a {@link UUID}
*/
@jakarta.annotation.Nullable
public UUID getClassId() {
return this.backingStore.get("classId");
}
/**
* The deserialization information for the current model
* @return a {@link Map>}
*/
@jakarta.annotation.Nonnull
public Map> getFieldDeserializers() {
final HashMap> deserializerMap = new HashMap>(super.getFieldDeserializers());
deserializerMap.put("calendars", (n) -> { this.setCalendars(n.getCollectionOfObjectValues(Calendar::createFromDiscriminatorValue)); });
deserializerMap.put("changeKey", (n) -> { this.setChangeKey(n.getStringValue()); });
deserializerMap.put("classId", (n) -> { this.setClassId(n.getUUIDValue()); });
deserializerMap.put("name", (n) -> { this.setName(n.getStringValue()); });
return deserializerMap;
}
/**
* Gets the name property value. The group name.
* @return a {@link String}
*/
@jakarta.annotation.Nullable
public String getName() {
return this.backingStore.get("name");
}
/**
* Serializes information the current object
* @param writer Serialization writer to use to serialize this model
*/
public void serialize(@jakarta.annotation.Nonnull final SerializationWriter writer) {
Objects.requireNonNull(writer);
super.serialize(writer);
writer.writeCollectionOfObjectValues("calendars", this.getCalendars());
writer.writeStringValue("changeKey", this.getChangeKey());
writer.writeUUIDValue("classId", this.getClassId());
writer.writeStringValue("name", this.getName());
}
/**
* Sets the calendars property value. The calendars in the calendar group. Navigation property. Read-only. Nullable.
* @param value Value to set for the calendars property.
*/
public void setCalendars(@jakarta.annotation.Nullable final java.util.List value) {
this.backingStore.set("calendars", value);
}
/**
* Sets the changeKey property value. Identifies the version of the calendar group. Every time the calendar group is changed, ChangeKey changes as well. This allows Exchange to apply changes to the correct version of the object. Read-only.
* @param value Value to set for the changeKey property.
*/
public void setChangeKey(@jakarta.annotation.Nullable final String value) {
this.backingStore.set("changeKey", value);
}
/**
* Sets the classId property value. The class identifier. Read-only.
* @param value Value to set for the classId property.
*/
public void setClassId(@jakarta.annotation.Nullable final UUID value) {
this.backingStore.set("classId", value);
}
/**
* Sets the name property value. The group name.
* @param value Value to set for the name property.
*/
public void setName(@jakarta.annotation.Nullable final String value) {
this.backingStore.set("name", value);
}
}